Skip to content

feat: действия проекта и массовая сдача решений в панели организатора - #487

Merged
TThanos3000 merged 1 commit into
devfrom
feat/dev-project-management-actions-20261022
Oct 21, 2026
Merged

TThanos3000 merged 1 commit into
devfrom
feat/dev-project-management-actions-20261022

Conversation

@TThanos3000

Copy link
Copy Markdown
Contributor

Что изменено

В меню каждой строки проектов добавлены «Сменить кейс», «Открепить от программы» и «Сдать решение». В массовой панели появилась «Сдать решения», включая все страницы по текущим фильтрам.

Зачем

Исправлять ошибочные кейсы/привязки и помогать участникам со сдачей без изменения их аккаунтов.

Реализация

Отдельный компонент центрального подтверждения использует signed preview/apply. Показывает последствия для рейтинга и назначений, проверку обязательных полей и причины блокировки каждого проекта. Ошибка или смена выбора сбрасывает token; повторная проверка требует нового явного подтверждения. Во время apply повтор/закрытие/переход заблокированы. После действия обновляется список, выбор очищается, последняя страница корректируется.

API

Зависит от PROCOLLAB-github/api#814 (source326348e). Новые program-scoped POST management/projects/actions/{preview|apply}/; ID связи, action, case_name, preview_token. Старые API не менялись. Выкладывать frontend после успешного API deploy.

UI

Существующие app-row-actions/app-modal/appField/appAlert, Mont, тонкие кнопки. По одному окну без второго оверлея; после отмены фокус возвращается к строке. Массовая панель выровнена на desktop и складывается на телефоне. Тексты используют Е/е.

Permissions

Права и валидация на backend: организатор этой программы либо staff/superuser. UI не подменяет server-owned решения.

Проверки

  • [x]57 targeted Angular tests (management/dialog/HTTP casing and token), development build,12 exact Git-blob Prettier checks, targeted Stylelint, lint:ts (6 прежних warnings), git diff --check.
  • Browser1440/390/360: по одному диалогу, поля/кнопки/меню в viewport, Escape/focus, стабильная таблица, case/scores/rated assignment preservation, removal of incompatible unscored assignment, link-only detach, row and bulk submission after deadline.
  • Все31 записи по фильтрам, блокер обязательного файла на второй странице без частичной сдачи, искусственный409 с повторной проверкой и подтверждением.
  • Регрессия участников360px;0 JS/server errors и0 писем, synthetic local Django/PostgreSQL/locmem only. Desktop/mobile screenshots reviewed.

Acceptance criteria

  • Три действия в трех точках; массовая сдача для всей выборки.
  • Подтверждение изменения рейтинга/открепления и проверка полей перед сдачей.
  • Отмена/ошибки/повторные клики не вызывают неподтвержденных операций; responsive без скачка таблицы.

Риски и ограничения

Physical Safari не проверялся. Authenticated QA использует изолированный API, реальные dev-пользователи и production не изменялись. Published-assets QA после dev deploy.

@TThanos3000
TThanos3000 merged commit acb51bf into dev Oct 21, 2026
@TThanos3000
TThanos3000 deleted the feat/dev-project-management-actions-20261022 branch October 21, 2026 21:48
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