Skip to content

Production: название связанной программы в детали проекта - #777

Merged
TThanos3000 merged 1 commit into
masterfrom
release/prod-project-program-identity
Oct 16, 2026
Merged

TThanos3000 merged 1 commit into
masterfrom
release/prod-project-program-identity

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Что изменено

В production-контракт детали проекта добавлено read-only partner_program.name. Интерфейс сможет показать конкретную программу в существующем блоке «Основное».

Зачем

Проверенный на живом dev API #770 переносится точечно от master. Dev и production имеют разный выбор программной связи по роли; production scope сохраняется.

Реализация

Две строки в PartnerProgramProjectSerializer: имя берётся из уже выбранного и joined partner_program. get_partner_program, permissions, eligible-link queryset и существующий public fallback не меняются. Тесты дополнены проверками имени для manager/expert scope, rename и parity списка/детали.

API

GET /projects/{id}/ и ответы того же serializer добавляют name; IDs, submission state, поля заявки, can_submit, null, request/validation/errors прежние. Additive backward-compatible contract.

UI

В этом PR не менялся; Angular #421 выводит имя и согласованные статусы в desktop/mobile.

Permissions

Без изменений. Сохранены production role-scoped выбор связи и запрет чтения/записи чужих объектов. Новое имя относится к разрешённой пользователю связи.

Проверки

  • Isolated local PostgreSQL: python manage.py test users.tests.test_project_list_program_contract projects.tests.test_program_project_detail_access projects.tests.test_project_programs projects.tests.test_project_crud partner_programs.tests.test_program_project_submit --verbosity 1 --keepdb --noinput — 39 passed.
  • Black --check, Flake8 на трёх изменённых файлах, git diff --check — passed.
  • Source/review: production selection/permissions/queryset без изменений, дополнительных запросов нет; query-count regression tests passed.
  • Backend PostgreSQL CI — полный suite и production quarantine checks passed на head f5937b0a0c9d1dcfc5f0950d1cc6d0cc63aee89e.
  • CI — Lint, production surface quarantine и общий Tests job passed на том же head.

Acceptance criteria

  • P3 — имя разрешённой выбранной программы, актуальность после rename, parity и permissions/query counts; 39 tests.
  • P4 API — две строки production code, без миграций/новых запросов/переноса других dev изменений.
  • Исходная feature проверена на живом dev 16.10.2026: реальные привязанные/сданные проекты и program route.

Не проверено

Production runtime после выпуска. Оба полных backend CI прошли; локально выполнены перечисленные targeted/regression tests. Release Prod и последующий production smoke выполняются при выпуске.

Риски / migration

Миграции не нужны. Порядок: merge этого PR → пользователь запускает Release Prod с зафиксированным API ref → frontend merge/autodeploy. Полный dev не переносить. Проверенная база: f2874390ffd97ba630c1826a0ac179720a039c8a; merge и production deploy выполняет пользователь.

@TThanos3000
TThanos3000 merged commit 620ebf7 into master Oct 16, 2026
7 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