Open
Description
Task Description:
Introduce a new entity called “Group,” to which one or more roles can be assigned. Users can be added to one or more groups, and they inherit the access permissions of all the roles associated with those groups.
Design
Subtasks:
-
Group Management:
- Develop an interface to manage the list of groups, with the ability to:
- View existing groups
- Create new groups (specifying a name)
- Edit groups (rename, add/remove roles)
- Delete groups
- Ensure proper validation (e.g., unique group names).
- Develop an interface to manage the list of groups, with the ability to:
-
Assign Roles to Groups:
- When creating/editing a group, allow the selection of existing roles (from a list of roles).
- Display roles already linked to the group and enable removing/adding roles.
- Update role information for the group upon saving changes.
-
Add Users to Groups:
- Provide a mechanism to add users to one or more groups.
- In the user interface, display which groups the user belongs to.
- If needed (for instance, when editing a user), allow adding/removing groups for that user.
-
UI and UX:
- Update the UI to support:
- Group list (with search, pagination, sorting).
- Group creation/edit forms (name, roles).
- Adding a user to a group (or selecting groups when editing a user).
- Ensure a user-friendly experience: clear fields, descriptions, and hints on what each role grants.
- Update the UI to support:
Acceptance Criteria:
- An administrator can create a new group, give it a name, and assign roles to it.
- A user can belong to multiple groups at the same time.
- A user inherits the combined permissions of all the roles linked to their groups.
- Changes (adding/removing roles from a group, adding/removing users to/from a group) immediately affect the user’s permissions.
- The interface for managing groups and linking roles/users is intuitive and straightforward.
Notes:
- Group service in the backend is ready.
- This feature shouldn't conflict with Implement User specific permissions #212
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Ready