Browse Source

Get child permissions by parent instead name.

pull/18743/head
maliming 3 years ago
parent
commit
2ebbf01ada
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 22
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs

22
modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs

@ -207,7 +207,7 @@ public partial class PermissionManagementModal
{ {
SetParentPermissionGrant(permissionGroup, permission); SetParentPermissionGrant(permissionGroup, permission);
} }
else if (value == false) else
{ {
var childPermissions = GetChildPermissions(permissionGroup, permission); var childPermissions = GetChildPermissions(permissionGroup, permission);
@ -260,7 +260,25 @@ public partial class PermissionManagementModal
protected List<PermissionGrantInfoDto> GetChildPermissions(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission) protected List<PermissionGrantInfoDto> GetChildPermissions(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
{ {
return permissionGroup.Permissions.Where(x => x.Name.StartsWith(permission.Name)).ToList(); var childPermissions = new List<PermissionGrantInfoDto>();
GetChildPermissions(childPermissions, permissionGroup.Permissions, permission);
return childPermissions;
}
protected void GetChildPermissions(List<PermissionGrantInfoDto> allChildPermissions, List<PermissionGrantInfoDto> permissions, PermissionGrantInfoDto permission)
{
var childPermissions = permissions.Where(x => x.ParentName == permission.Name).ToList();
if (childPermissions.Count == 0)
{
return;
}
allChildPermissions.AddRange(childPermissions);
foreach (var childPermission in childPermissions)
{
GetChildPermissions(allChildPermissions, permissions, childPermission);
}
} }
protected bool IsDisabledPermission(PermissionGrantInfoDto permissionGrantInfo) protected bool IsDisabledPermission(PermissionGrantInfoDto permissionGrantInfo)

Loading…
Cancel
Save