Skip to content

Block Self-Removal, Last-PM Removal, and Removal with Active Assignments #333

Description

@chadw-eten

The Project Users table already has a trash icon on each row to remove a user from the project. As part of moving role management onto the project page, removal needs guardrails so a Project Manager can't accidentally remove themselves, leave a project with no PM, or strand a user's assigned work. This ticket adds a confirmation step to every removal and blocks the three unsafe cases.

Functional Requirements

Removing a User

  • Keep the existing trash icon on each user row as the remove action.
  • Require a confirmation step before removing: "Remove [Name] from this project?" with confirm/cancel.
  • Removing a user revokes their access to this project only; it does not affect their org account or other projects.
  • A Project Manager may not remove themselves. The remove action is hidden or disabled on the PM's own row.
  • If removing a user would leave the project with no Project Manager, block the removal and show an explanatory message.
  • If the user being removed has active drafter or peer checker assignments, block the removal and show a message "[Name] still has assigned work." There is no auto-unassign; the PM must go reassign that work before removal is allowed.

Note: This applies even if other PMs exist on the project — a PM can never remove or demote themselves; only a different Project Manager can remove or change the role of another PM.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Dev Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions