Skip to content

Add own evaluation status counts and 1000-character comments - #823

Merged
TThanos3000 merged 1 commit into
devfrom
feat/dev-project-scoring-form-20261024
Oct 24, 2026
Merged

TThanos3000 merged 1 commit into
devfrom
feat/dev-project-scoring-form-20261024

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Что изменено

Добавлены собственные статусы и счетчики оценки для списка проектов программы. Комментарии принимают до 1000 символов вместо 50.

Зачем

Общая форма эксперта и вкладки «Осталось оценить / Оцененные» должны опираться на собственную оценку текущего эксперта. Прежний is_rated_by_expert учитывает любых экспертов и сохраняет свою семантику.

Реализация

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

API

Существующий GET/POST rating list дополнен evaluation_status=pending|completed и evaluation_counts={pending,completed}. Счетчики вычисляются после поиска/полей программы, до статуса и пагинации. Старые параметры, формат results и POST filters сохранены. ProjectScore.value расширен миграцией до 1000; serializer отклоняет превышение до атомарной записи. Payload сохранения не менялся.

UI

Этот PR меняет только API; совместный Angular PR PROCOLLAB-github/procollab#506 использует новые счетчики и лимит комментария. Макет: https://www.figma.com/design/tvog0fpEgWgEtr7KUTjbyE?node-id=1017-4588

Permissions

Не менялись: существующие IsExpert/IsExpertPost, программа/назначение, своя команда, дедлайн, лимит и criteria_revision остаются обязательными серверными проверками.

Проверки

  • 116 project_rates тестов на изолированном PostgreSQL 18.
  • Новые тесты: cross-user/program, поиск/POST filters/counts/pagination, 0/False/пустой комментарий, boolean-only, empty criteria, доступ, 1000/1001 и отсутствие частичной записи при ошибке.
  • Black, flake8, makemigrations --check --dry-run, diff check.
  • Браузер с настоящим изолированным Django: полное сохранение, повтор после ошибки, отказ доступа, реальный 409 и обновление критериев.
  • GitHub CI, PostgreSQL CI и повторный CI после слияния прошли.
  • DEV deployment 40136151051: образ запущен, миграция 0008 применена, smoke и Celery ping прошли.

Acceptance criteria

  • AC6 — 1000 символов и атомарное отклонение превышения.
  • AC8 — прежняя защита ревизии сохраняется.
  • AC13–15 — собственная завершенность, авторитетные счетчики, фильтры и старые API-контракты.

Не проверено

Production не проверялся. Сохранение реальных оценок на dev не повторялось: в текущем аккаунте нет назначенных проектов; сценарии сохранения и редактирования проверены на изолированном настоящем API.

Риски / migration

Сначала этот API и миграция 0008_projectscore_value_1000, затем Angular. Миграция расширяет поле; existing payloads и старые клиенты совместимы. Target — dev; production не затрагивается.

@TThanos3000
TThanos3000 merged commit c68a004 into dev Oct 24, 2026
3 checks passed
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