Use case

(This makes more sense on complex/bigger sites with many user accounts and multiple roles, but still applies to simpler sites)

A person that has an account on the site contacts you (being the site admin or the developer that is looking after their site), and requests that they get access to perform task x. What usually happens is that the site admin will:

  1. go to the the user account management view at /admin/people/list
  2. filter the list by the person's name/email etc.
  3. examine the role(s) the person has, then determine if:
    • the person needs an existing role assigned to them in addition to the ones they already have (a role that already has the permission to do task x)
    • or if a new role needs to be created (because the existing roles that have that permission are overly permissive, with more permissions than what the person should have)
    • or an existing role needs to be edited to add the permission that was requested
  4. depending on the case form the previous step, the site admin will need to do any of the following:
    • a. additional role assignment: click the existing "edit" button in the user account screen, add/remove existing roles as required -> done
    • b. new role needs to be created: need to head to the roles management page at /admin/config/people/roles (see #3814, #4643, and other issues relevant to improving that workflow)
    • c. permissions of an existing role need to be updated: need to head to /admin/config/people/permissions to edit the permissions of the existing user role(s) assigned to the user

Proposed improvement

Since the other workflows in point 4 above are either being handled OK already, or we have existing issues for them, I would like us streamline the last workflow a bit (case 4c), so that there's less clicking around, less page loads, and less back and forth between admin pages. I propose that we consider implementing the following: 1. Make the role names in the "roles" column of the view in /admin/people/list links that take you directly to the permissions management form, filtered by the respective role column only. Alternatively, we could add a single "manage permissions" link to each user account, which filter the permissions management page only by the role(s) already assigned to the user. 2. Either also make the roles in the account edit form links (not a big fan of this, since these are labels of checkboxes), or add a set of two edit links right after the checkboxes: a "manage permissions" and an "edit roles".

GitHub Issue #: 
5918