-
Notifications
You must be signed in to change notification settings - Fork 2.8k
User group: permissions grouping #20584
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
User group: permissions grouping #20584
Conversation
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.
Pull Request Overview
This PR reorganizes the user group permissions UI to group permissions by entity type (Document, Media, Member, etc.) rather than splitting them into separate "Default Permissions" and "Granular Permissions" sections. The implementation adds a required forEntityTypes property to the userGranularPermission extension type and restructures the UI components accordingly.
Key changes:
- Added required
forEntityTypesfield toManifestGranularUserPermissioninterface - Refactored permission display to group by entity type with combined default and granular permissions per group
- Updated localization strings to reflect the new grouping structure
Reviewed Changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| user-granular-permission.extension.ts | Added required forEntityTypes array property to the manifest interface |
| entity-user-permission-settings-modal.token.ts | Updated modal size to medium |
| input-entity-user-permission.element.ts | Refactored to group permissions and filter by entity type using Object.groupBy |
| user-group-workspace-editor.element.ts | Replaced separate permission lists with unified entity-type-based grouping component |
| user-group-entity-user-permission-list.element.ts | Removed file - functionality moved to new components |
| user-group-entity-type-permissions.element.ts | New component handling entity-specific default permissions |
| user-group-entity-type-permission-groups.element.ts | New component orchestrating permission groups by entity type |
| user-group-entity-type-granular-permissions.element.ts | Updated to filter by entity type and handle new structure |
| documents/manifests.ts | Added forEntityTypes to document granular permission manifest and commented out permissions action |
| input-document-granular-user-permission.element.ts | Removed @property decorator from fallbackPermissions field |
| document-property-value/manifests.ts | Added forEntityTypes to property value permission manifest |
| en.ts, da.ts | Updated permission group labels and added "general" category |
| examples/localization/en.ts | Updated dictionary permission group label |
Comments suppressed due to low confidence (1)
src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document/manifests.ts:1
- The Document Permissions permission has been commented out without explanation. Add a comment explaining why this permission was disabled (e.g., temporary removal, deprecated, or moved elsewhere) to help future maintainers understand the intent.
import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js';
...mbraco.Web.UI.Client/src/packages/user/user-permission/user-granular-permission.extension.ts
Outdated
Show resolved
Hide resolved
...r-permission/components/input-entity-user-permission/input-entity-user-permission.element.ts
Show resolved
Hide resolved
...ent/src/packages/user/user-group/workspace/user-group/user-group-workspace-editor.element.ts
Show resolved
Hide resolved
...ser/user-group/workspace/user-group/components/user-group-entity-type-permissions.element.ts
Outdated
Show resolved
Hide resolved
...group/workspace/user-group/components/user-group-entity-type-granular-permissions.element.ts
Outdated
Show resolved
Hide resolved
...t/input-document-granular-user-permission/input-document-granular-user-permission.element.ts
Show resolved
Hide resolved
Updated granular permission handling to allow permissions that are not tied to a specific entity type. Adjusted rendering logic and manifest interface to support undefined or empty forEntityTypes, and added UI for displaying ungrouped granular permissions.

Grouping of User Group Permissions