Skip to content

feat: управление организаторами программы и email-приглашения - #796

Merged
TThanos3000 merged 2 commits into
devfrom
feat/dev-program-organizers-20261019
Oct 19, 2026
Merged

TThanos3000 merged 2 commits into
devfrom
feat/dev-program-organizers-20261019

Conversation

@TThanos3000

Copy link
Copy Markdown
Collaborator

Organizers can invite colleagues by email and manage program access without Django admin. Add a private roster, invitation/resend/revoke endpoints and an explicit acceptance or registration journey. New organizers keep the normal birthday requirement and receive program management only.

Membership writes share a program row lock and revision checks. The last active organizer cannot be removed, including concurrent self-exits. Removing access also invalidates prior invitation links. Email uses the existing Celery/provider setup, with digest storage, token rotation, no-store responses, log redaction and invitation-aware password recovery.

Adds partner_programs.0023_organizerinvitation_and_more (new table only). Deploy API/migration before the Angular organizers section. Existing expert invitations, scores and program managers remain compatible.

Validation: 20 PostgreSQL feature/concurrency tests; 20 existing expert workspace tests; Black, Flake8, makemigrations --check. Full standard/PostgreSQL suites run in PR CI. Local mail tests use locmem, with no external messages sent.

@TThanos3000
TThanos3000 merged commit 2355bdb into dev Oct 19, 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