Skip to content

feat(programs): панель управления программой для организатора V1 - #428

Merged
TThanos3000 merged 2 commits into
devfrom
feature/dev-program-management-v1
Oct 17, 2026
Merged

TThanos3000 merged 2 commits into
devfrom
feature/dev-program-management-v1

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Что изменено

Организатору доступны «Оценка проектов» и «Управление программой». Участники и проекты перенесены в единую панель вместе с аналитикой и настройками. Участники показывают почту, проекты — презентацию, сдачу и статус оценивания. Выбор одного проекта открывает одну панель с командой и переходом к оценке.

Зачем

Реализовать утверждённый V1 управления программой: Figma. Scope и проверка: docs/modules/program-management.md.

Реализация

Private port/use case/repository/adapter и scoped facade с отменой устаревших запросов. Server search/filter/pagination. Settings Basic/Dates/Materials: явное сохранение, dirty leave confirmation, сохранение полей при ошибке, optimistic concurrency и подтверждение reopen. Даты в Москве независимо от timezone браузера. ProgramUpdated инвалидирует страницу, список и persistent cache.

API

Требует API PR #779 с /programs/:id/management/; сначала merge API. Публичные contracts и scoring POST не менялись. Legacy expert form получает точный project_id.

UI

Mont, существующие native Button/Field/Choice/Table, Modal/Icon/Pagination/Alert и токены PROCOLLAB. Одна выбранная строка, desktop team side panel / mobile full screen, возврат фокуса и выбранного проекта. Существующая аналитика встроена без изменения показателей. На desktop два входа вокруг аватара; mobile сохраняет текущую шапку и две кнопки равной ширины под названием.

Permissions

Права определяет API. Expert без manager сохраняет прежний сценарий. Manager без expert читает оценки; ссылка на scoring form появляется только при server can_rate. При403 приватные данные очищаются. Индивидуальных и массовых действий участников/проектов нет.

Проверки

  • Полный Vitest: 2117 PASS / 416 files; в том числе 52 focused checks management facade/component/HTTP, дат/статусов, ProgramRepository, ProgramShellInfoService и FileService. Organizer role-widget regression ожидает новый маршрут /management/analytics.
  • ng build social_platform --configuration=production — PASS; Sass/CommonJS/budget warnings сохранены, error budgets не превышены.
  • Targeted ESLint, Stylelint, Prettier и diff check.
  • Полный Prettier с --end-of-line auto для Windows CRLF checkout; обычный --check изменённых файлов проходит. Git commit hook: общий ESLint/Stylelint без ошибок (6 прежних ESLint warnings).
  • Chrome + реальный локальный Django/PostgreSQL: readonly participants/email/no-results, single select/team/escape/focus, evaluation return, settings save/error/dirty leave/cache, Moscow dates/reopen cancel/save, material URL CRUD, analytics/403.
  • Desktop1440/mobile390/360: визуальный просмотр и отсутствие горизонтального переполнения.

Acceptance criteria

  • Два входа; четыре раздела; старые organizer-кнопки участников/проектов убраны.
  • Участники readonly с почтой; проекты с отдельными статусами и презентацией.
  • Одна контекстная панель; команда/возврат сохраняют выбор; несданное не открывает оценку.
  • Все настройки V1; явное сохранение, ошибки/409, timezone, dirty leave.
  • Серверные права сохранены; приватный read DTO не попадает в общий кеш.

Не проверено

Реальный Selectel CDN transport, OS screen reader, dev после merge и production. FileService не менялся; multipart contract и backend file ownership/retention покрыты тестами.

Риски / migration

Зависит от backend PR; merge UI после API. Миграций нет. Merge/deploy выполняет пользователь, затем dev acceptance. Индивидуальные действия, возврат/исключение проекта и массовые операции отложены.

@TThanos3000
TThanos3000 merged commit e1ef88a into dev Oct 17, 2026
@TThanos3000
TThanos3000 deleted the feature/dev-program-management-v1 branch October 17, 2026 11:51
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