Skip to content

Conversation

@nielslyngsoe
Copy link
Member

@nielslyngsoe nielslyngsoe commented Oct 21, 2025

Grouping of User Group Permissions

image

Copy link
Contributor

Copilot AI left a 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 forEntityTypes field to ManifestGranularUserPermission interface
  • 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';

madsrasmussen and others added 4 commits October 21, 2025 12:19
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.
@madsrasmussen
Copy link
Contributor

I have updated the code, so the PR is no longer breaking. forEntityType is now optional in the manifest. We will render all granular permission extensions without a forEntityType grouped together after the others, making it look very similar to how it appeared before this PR.

Screenshot 2025-10-21 at 13 49 04

@madsrasmussen madsrasmussen added category/ux User experience and removed category/front-end labels Oct 21, 2025
@madsrasmussen madsrasmussen enabled auto-merge (squash) October 21, 2025 11:52
@madsrasmussen madsrasmussen merged commit 5f1c65e into release/17.0 Oct 21, 2025
22 of 23 checks passed
@madsrasmussen madsrasmussen deleted the v17/hotfix/user-group-permissions-grouping branch October 21, 2025 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants