-
-
Notifications
You must be signed in to change notification settings - Fork 817
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dev/core#4840 StandaloneUsers - Improve performance & usability of 'User Permissions' screen #31162
Conversation
…an id This brings crmSearchTaskUpdate in-line with crmSearchTaskApiBatch which dynamically loads the primary_key for the entity.
🤖 Thank you for contributing to CiviCRM! ❤️ We will need to test and review this PR. 👷 Introduction for new contributors...
Quick links for reviewers...
|
The issue associated with the Pull Request can be viewed at https://lab.civicrm.org/dev/core/-/issues/4840 |
This adds an overrideable function to BasicSaveAction with the same name & signature as the BasicUpdateAction, allowing both to be overridden by performance-minded api actions.
c4e9828
to
daa0835
Compare
I believe the upgrade test failure is unrelated |
…s' screen This implements a more Drupal-like screen which shows all rows as table columns Implied permissions are also shown (in grey). Bulk-update actions are used instead of inline editing, which is more performant
…n modifying roles
daa0835
to
7cd807c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ext/standaloneusers/Civi/Api4/Action/RolePermission/RolePermissionSaveTrait.php
Show resolved
Hide resolved
@artfulrobot I noticed the missing columns on demo too but as soon as I cleared caches they appear. I think it's just a timing issue with buildkit builds & demo sites but on real sites it ought to be fine. |
@colemanw I didn't think to clear caches bc it was a new build - but you're right, a cache clear fixed it. I've I think it's pretty darned wonderful 😄 I agree there's no need to worry re changing the API that was only for this screen. Minor suggestion is to provide a title attribute to the various coloured ☑ icons. This would help visual users learn what it meant (and why they couldn't click it!) and would help screen reader users to access the information that is otherwise not present for them. |
... now how long before someone uses the "select all" button rather than reading what the permissions do... 🦶 🔫 🤣 |
@artfulrobot maybe we could merge this as "better than it was" and then iterate on those other items. Update: done! #31189 |
Overview
Fixes https://lab.civicrm.org/dev/core/-/issues/4840
This implements a Drupal-like screen which shows all roles as table columns.
Implied permissions are indicated in grey.
Bulk-update actions are used instead of inline editing, which is more performant.
Technical Details
This modifies the signature of the
RolePermission
api to give pivot-table-like output, with one row per permission, and every role as a field.This api was created solely for the purpose of this screen & that's the only use I can find. As Standalone is still in beta, I think it's a safe change to make at this point.