Skip to content

Показывать название связанной программы в детали проекта - #770

Merged
TThanos3000 merged 1 commit into
devfrom
fix/dev-project-program-identity
Oct 4, 2026
Merged

TThanos3000 merged 1 commit into
devfrom
fix/dev-project-program-identity

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Что изменено

Деталь проекта возвращает partner_program.name, чтобы интерфейс мог показать конкретную связанную программу.

Зачем

Статус привязки без названия не позволяет понять, к какой программе относится проект. Имя уже есть в списке «Мои проекты»; теперь оно доступно и в детали.

Реализация

Read-only поле в PartnerProgramProjectSerializer из partner_program.name. Выбор связи по минимальному PK и существующий select_related сохранены.

API

GET /projects/{id}/ и ответы этого serializer добавляют partner_program.name. Существующие IDs, is_submitted, can_submit, поля заявки и null не меняются. Request, validation и errors прежние; добавление совместимо с текущими consumers.

UI

В этом PR не менялся. Angular PR #400 показывает имя в карточке и блоке «Основное», уточняет статусы привязки и сдачи. Полный spec/AC — в docs/feature-specs/project-program-identity.md этого frontend PR.

Permissions

Не менялись: прежние object permissions и scope. Проверены read-only роли, чужая программа и anonymous access существующими regression tests.

Проверки

  • Local PostgreSQL, isolated test DB: 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 — 40 passed.
  • Black --check, Flake8 на трёх изменённых Python-файлах, git diff --check — passed.
  • Source review: имя использует уже joined объект, дополнительных запросов нет.

Acceptance criteria

  • AC3 — detail содержит полное актуальное имя выбранной программы; API tests.
  • AC4 — при отсутствии связи остаётся null; API tests.
  • AC5 — list/detail parity, минимальный PK, rename, прежние query counts; API tests.

Не проверено

Live dev/production E2E и deployment. UI проверен в связанном frontend PR, не этим API test suite.

Риски / migration

Миграции не нужны. Выпустить API перед Angular, чтобы имя сразу появилось в детали проекта. Merge/deploy выполняются пользователем.

@TThanos3000
TThanos3000 merged commit 02e8a38 into dev Oct 4, 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