Content
View differences
Updated by Parimal Satyal 6 days ago
**As** an OpenProject system administrator
**I want to** see every membership across all projects in one filterable list
**so that** I can find out who holds a given role — including in archived projects — without opening each project's member list.
**Acceptance criteria**
* New admin page "Memberships" at `/admin/members`, reachable from Administration → Users and permissions.
* Show a [Border Box Table](https://qa.openproject-edge.com/lookbook/pages/components/tables/border_box_table),
* One row per membership showing: user (avatar + name), project, roles.
* Global memberships show "Global" in place of a project.
* When a membership is coming in through a group membership show "(via: Group <GROUPNAME>)" next to the user to indicate they have not gotten the membership directly
* Memberships in **archived** projects are listed; their project name renders as plain text (archived projects have no page an admin can open).
* Project names link to the project; role names link to the role's edit page.
* On the subheader,
* A search input ("Search users") filters by the principal's name attributes.
* Three multi-select quick filters: Member type (user / group / placeholder user), Project, Role.
* The list is paginated.
**I want to** see every membership across all projects in one filterable list
**so that** I can find out who holds a given role — including in archived projects — without opening each project's member list.
**Acceptance criteria**
* New admin page "Memberships" at `/admin/members`, reachable from Administration → Users and permissions.
* Show a [Border Box Table](https://qa.openproject-edge.com/lookbook/pages/components/tables/border_box_table),
* One row per membership showing: user (avatar + name), project, roles.
* A search input ("Search users") filters by the principal's name attributes.