Skip to content

fix: согласовать число оценок и имена приглашённых экспертов - #789

Merged
TThanos3000 merged 1 commit into
devfrom
fix/dev-experts-clarity-20261018
Oct 18, 2026
Merged

TThanos3000 merged 1 commit into
devfrom
fix/dev-experts-clarity-20261018

Conversation

@TThanos3000

Copy link
Copy Markdown
Collaborator

Что изменено

После смены обязательного числа оценщиков аналитика продолжала отдавать только прежний максимум. Добавлен актуальный required_evaluators и число проектов, которым ещё нужно подобрать экспертов. Имя приглашённого теперь сопоставляется с email без учёта регистра; неоднозначные старые аккаунты не выбираются произвольно.

Зачем

Организатор должен понимать нехватку экспертов и видеть одно обязательное число оценок во всех разделах.

Реализация

workspace_data/quota_preview, analytics service/serializer; точное сопоставление приглашения и аккаунта. Сохранённые оценки, назначения и формула готовности не менялись.

API

Совместимые дополнительные поля projects_missing_experts в workspace/preview, submitted_projects в preview, evaluation_status.required_evaluators в manager-overview. Legacy maximum сохранён. Контракт описан в docs/expert-workspace.md.

UI

Отдельный Angular PR использует новые счётчики и формулировки. Backend выкатывается первым.

Permissions

Не менялись: managed_program проверяет менеджера конкретной программы; новая информация выдаётся только внутри существующих organizer endpoints.

Проверки

  • Checked by tests: 37 workspace/manager analytics tests на изолированном PostgreSQL 18, включая mixed-case email, разных приглашённых, неизвестный/неоднозначный аккаунт и смену N 3→1.
  • Checked by source: review diff, permissions, совместимость legacy режима и отсутствие миграций.
  • Black и flake8 затронутых Python-файлов; diff --check.

Acceptance criteria

  • Нехватка проектов отличается от количества незаполненных мест экспертов.
  • Новый N=1 в аналитике при сохранённом legacy maximum=3.
  • Имя сопоставляется только с приглашённым email, профили не изменяются.

Не проверено

Конкретные учётные записи со скриншота dev требуют авторизованного read-only просмотра; внешняя доставка почты не тестировалась. Полный Linux PostgreSQL CI выполняется отдельно.

Риски / migration

Миграций нет. Расширение response обратно совместимо; сначала API, затем Angular. При неоднозначном legacy email возвращается null name/avatar вместо произвольного человека.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants