Skip to content
Snippets Groups Projects

Redesign create custom role permissions list

Merged Daniel Tian requested to merge 438838-redesign-custom-role-permissions-list into master

What does this MR do and why?

On the Settings -> Roles and Permissions page, there's a form for creating new roles:

ksnip_20240404-160326

There is a list of permissions in the form. This MR changes the design of the permissions list.

Before After
ksnip_20240404-160511 ksnip_20240404-160453

How to set up and validate locally

  1. Go to any top-level group, then go to Settings -> Roles and Permissions.
  2. Click the New role button on the upper right.
  3. Verify that the permissions uses the new design as in the above screenshot.
  4. Do not fill out the form or select any permissions. Click on the Create role button at the bottom of the form.
  5. Verify that the permission names turn red.
  6. Select at least 1 permission, then click on Create role again. Verify that the permission names turn back to black.
  7. Select Admin vulnerability and verify that Read vulnerability is checked alongside it.
  8. Unselect Read vulnerability and verify that Admin vulnerability is unchecked alongside it.

Related to #438838 (closed)

Edited by Daniel Tian

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Daniel Tian
  • Daniel Tian added 1 commit

    added 1 commit

    • 1ae8ba8e - Use table busy instead of skeleton loader

    Compare with previous version

  • Daniel Tian
  • Daniel Tian added 1 commit

    added 1 commit

    • ce815088 - Use table busy instead of skeleton loader

    Compare with previous version

  • Daniel Tian added 1 commit

    added 1 commit

    • 5bedd224 - Use table busy instead of skeleton loader

    Compare with previous version

  • Daniel Tian
  • Daniel Tian
  • Daniel Tian added 1 commit

    added 1 commit

    Compare with previous version

    • Resolved by Andrew Fontaine

      @ipelaez1 Would you be able to do the UX review for this one? :bow: Several things to note:

      1. In the design, the table header does not have a top border and has a background color, but the table's default look has a top border and no background color. I opted for the table default:
      Design Implementation
      ksnip_20240404-163317 ksnip_20240404-163713
      1. In the design, the label text is Custom Permissions, but elsewhere we lowercase the second word (i.e. Base role instead of Base Role, so in the implementation I made it Custom permissions.

      2. I changed the description text to Learn more about available custom permissions., but a link wasn't provided, so I linked it to https://docs.gitlab.com/ee/user/custom_roles/abilities.html.

      3. In the design, the selection text is 1 of 18 permissions added, but we're selecting items instead of creating new ones, so I changed it to 1 of 18 permission selected.

      4. The permission name is not allowed to line wrap, whereas the description is. Otherwise it's a bit difficult to read the permission name:

      With line wrap Without
      ksnip_20240404-164828 ksnip_20240404-164842
      1. For the loading state, I changed it from a skeleton loader to showing the table as busy with loading icon:
      Before After
      ksnip_20240404-164125 ksnip_20240404-164024
      1. For the error state, the design is still TBD, so I made the text red like how it was previously:
      ksnip_20240404-164237
      1. In the screenshots, the checkbox column has the header Checkbox. I didn't notice it until after I already took all the screenshots, so rather than re-take all the screenshots, here's one of what it looks like now:
      ksnip_20240404-164538
      Edited by Daniel Tian
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading