diff --git a/frontend/auth/admin/AdminApp.vue b/frontend/auth/admin/AdminApp.vue index 20a259e..68a8f6b 100644 --- a/frontend/auth/admin/AdminApp.vue +++ b/frontend/auth/admin/AdminApp.vue @@ -299,13 +299,13 @@ async function performPermissionDeletion(permissionScope) { } function deletePermission(p) { - const userCount = permissionSummary.value[p.scope]?.userCount || 0 + const userCount = permissionSummary.value[p.uuid]?.userCount || 0 // Count roles that have this permission let roleCount = 0 for (const org of orgs.value) { for (const role of org.roles) { - if (role.permissions.includes(p.scope)) { + if (role.permissions.includes(p.uuid)) { roleCount++ } } diff --git a/frontend/src/admin/AdminOrgDetail.vue b/frontend/src/admin/AdminOrgDetail.vue index 2012f5a..7aeecb0 100644 --- a/frontend/src/admin/AdminOrgDetail.vue +++ b/frontend/src/admin/AdminOrgDetail.vue @@ -26,6 +26,12 @@ const sortedRoles = computed(() => { }) }) +// Get org's grantable permissions as full permission objects (with UUIDs) +const orgPermissions = computed(() => { + const uuidSet = new Set(props.selectedOrg.permissions || []) + return props.permissions.filter(p => uuidSet.has(p.uuid)) +}) + function permissionDisplayName(scope) { return props.permissions.find(p => p.scope === scope)?.display_name || scope } @@ -302,17 +308,17 @@ defineExpose({ focusFirstElement })
-