Feature #18123
Updated by Peter Amstutz over 3 years ago
* Add "Groups" to the left hand navigation tree which displays the existing "Groups" list panel
* When user clicks on an entry in the "Groups" list, they are presented with a panel with two tabs, "Members" and "Permissions"
* The "Members" tab consists of a list of users and groups
** Membership is defined as having a permission link with "tail" of some user or other group and "head" being the selected group
** Clicking on a user or group navigates to the panel for that user or group
** An "Add member" button uses the "sharing" dialog to select users or groups to add to the group
** Displays Name, username, UUID, email
** Should be able to sort by any of those columns
** Option to search/filter by substring would be nice to have
** Members that are other groups are group name only
** When adding a member, also select the permission level that is granted
** Additional column with for "maximum permission" to display/change the maximum permission level the user gets on items shared with the group
** When adding a member, normally a read permission link is create going from the selected group (tail) to the member (head). If this this read link is _not_ present, it is a "hidden user"
** Action menu has a "Remove" item (maybe simplify to just an [x] or trash can icon and no popup menu?)
* The "Permissions" tab consists of a list of projects, membership of the group grants these permissions on these projects
** Each row displays name of group
** Option to search/filter by substring would be nice to have
** Each row has control to displays/change granted permission
** Button to add permission for a project, opens project chooser, only displays projects that the user has "manage" access
** Button to remove permission that deletes permission link
** Click on project to navigate to project page
* Should be usable by both regular users and admins
** Regular users must have "manage" access on the group to be able to add members, otherwise they get a read-only display
** Regular users can use "add permission" for any project that they have "manage" access
** Regular users can delete permission only for projects they have "manage" access
** Admins have unrestricted ability to edit membership and permissions