Repository navigation
feat(programs): private creation and first publication - #837
Merged
Merged
Conversation
…ion-publication # Conflicts: # partner_programs/urls.py
7 tasks done
TThanos3000
marked this pull request as ready for review
October 27, 2026 00:39
TThanos3000
marked this pull request as draft
October 27, 2026 09:35
TThanos3000
marked this pull request as ready for review
October 27, 2026 09:42
This was referenced Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что изменено
Организатор с отдельно выданным правом может создать приватный черновик трех форматов и открыть регистрацию после подготовки страницы, сроков и анкеты. Программа и анкета публикуются одной транзакцией; форма решения, критерии и эксперты могут быть настроены позже.
Зачем
Убрать обязательное ручное создание/включение программы и сохранить существующие редакторы. Спецификация и AC audit.
Реализация
Новые авторы видят полные данные страницы без participant enrollment. Draft creation/list/readiness/preview/publish, permission and privacy boundary, idempotency and optimistic revision. Migration0040 допускает незаполненные даты у draft и сохраняет обязательные даты опубликованных программ. Legacy formats/flags не переклассифицируются.
API
Wire contract. Новые
/programs/capabilities/,/drafts/,/managed/,/{id}/management/{launch,preview,publish}/. Существующие basic/dates/registration editors сохраняются; draft registration подготавливается без отдельного открытия приема. Сохранены budgets запросов существующей аналитики. При первой публикации дедлайн регистрации должен быть в будущем и не позже окончания программы включительно; регистрация после старта разрешена. При нарушении возвращаются dates blocker и HTTP400 без публикации программы/анкеты.UI
Angular companion PR #513 добавляет entry/list/checklist/readonly preview/publication, использует существующий renderer анкеты. Figma. Сам API не меняет визуальные компоненты.
Permissions
Creation:
partner_programs.add_partnerprogramчерез существующий Django admin. Existing staff/manager без этого права не создают программы. Management/publish: существующий can_manage_program. Чужие draft endpoints и личные program lists скрывают черновик даже при вручную созданном membership; private/no-store; preview не создает участника/просмотра и не запускает participant writes.Проверки
1045 program tests +135 project tests на изолированном PostgreSQL18/ICU.
После включения свежего dev:30 launch/public-project regression tests.
Django check, makemigrations --check, Black, flake8; migration на пустой базе.
Real Angular + Django/PostgreSQL browser: create/settings/questionnaire/preview/publish, participant enrollment, noncompetitive launch, mobile360/390, errors/permissions.
Базовая ревизия b7050c0: обычный Linux CI — Lint и Tests success; полный PostgreSQL CI — success. Native PDF tests проверены Linux CI.
На 7ba2a97:29 launch tests на PostgreSQL и SQLite (на SQLite 2 row-lock tests корректно пропущены по DB feature); Black/flake8 и обновленный Figma screenshot прошли. Browser lost-response/manager-page scenario проверен до уточнения дат; Angular runtime source не менялся. Локальные4 native PDF tests исключены только внешним Windows harness из-за Pango access violation; repository tests не пропущены.
Полные Linux CI и PostgreSQL CI для 7ba2a97 успешно завершились после уточнения сроков.
Acceptance criteria
Не проверено
Live authenticated dev acceptance и внешний административный integration handshake. Local real-API QA не выдается за deployment. Linux native PDF rendering проверяет CI.
Риски / migration
Включены свежие dev changes до7b6a0c4. Сначала merge/deploy API и migration0040, затем Angular companion. Dev compose уже задает EXPERT_WORKSPACE_FRONTEND_URL=https://dev.procollab.ru для web и Celery; ссылки нового flow используют эту существующую настройку. Право создания выдать выбранным пользователям отдельно.
Rollback: убрать entry/creation permission, сохранить schema и draft privacy. Не обращать nullable migration при существующих неполных черновиках и не откатывать на старый публично читаемый draft API. Production release в scope не входит.