Skip to content

Add ProjectMembership roles and per-tab access control - #14

Merged
cursor[bot] merged 4 commits into
masterfrom
cursor/user-access-management-66c8
Oct 7, 2026
Merged

cursor[bot] merged 4 commits into
masterfrom
cursor/user-access-management-66c8

Conversation

@JK-de

@JK-de JK-de commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

Implements ScriptumX user management per the access plan:

  • ProjectMembership with role presets (actor / writer / crew / director / producer), can_invite, and per-tab read/edit flags
  • Data migration from owner → producer, users → crew, guests → actor; legacy M2M kept in sync
  • Central can(user, project, tab, write) used by Env, tab filtering, and middleware enforcement (GET=read, POST=edit)
  • PDF when Script read; full backup requires project edit; share create needs matching read; actors blocked on Person/Plan
  • Site-admin + producer dashboard at /access/; password reset via msmtp backend (logs when no relay); privacy note; Delete menu fixed
  • Container installs msmtp; host mounts /etc/msmtprc (template until a relay is provided)
  • Small markov seed hardening so /seed tests are not flaky on missing cache keys

Tests

  • X.tests_access (actor tabs/PDF/403, unassigned project, producer invite limits, staff ≠ all projects)
  • Also green locally: X.tests.RevisionTests, X.tests_ux, authentication.tests, report.tests.ReportShareAndPresetTests, X.tests_data_safety

Deploy

PR branch deployed on 159.69.30.117 (/opt/ScriptumX, compose rebuilt). Live / returns 200. msmtp installed with a root-only commented template (waiting on relay). Stack left running.

Open in Web Open in Cursor 

cursoragent and others added 4 commits October 7, 2026 19:15
Introduce role presets (actor/writer/crew/director/producer), a site-admin
and producer access dashboard, msmtp-backed password reset with log fallback,
and server-side tab read/write enforcement for editors, PDF, backup, and shares.

Co-authored-by: Jochen Krapf <jkdesign@me.com>
Co-authored-by: Jochen Krapf <jkdesign@me.com>
Concrete copy for the welcome page and HTML meta description:
script editor, production planner, reports, and PDF.

Co-authored-by: Jochen Krapf <jkdesign@me.com>
When DJANGO_BEHIND_PROXY=1, trust X-Forwarded-Host and set
secure session/CSRF cookies even if DEBUG remains on.

Co-authored-by: Jochen Krapf <jkdesign@me.com>
@cursor
cursor Bot marked this pull request as ready for review October 7, 2026 20:29
@cursor
cursor Bot merged commit 7a11650 into master Oct 7, 2026
1 check 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