|
|
|
@ -17,7 +17,7 @@ public partial class PermissionManagementModal |
|
|
|
[Inject] protected ICurrentApplicationConfigurationCacheResetService CurrentApplicationConfigurationCacheResetService { get; set; } |
|
|
|
|
|
|
|
[Inject] protected IOptions<AbpLocalizationOptions> LocalizationOptions { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
protected Modal _modal; |
|
|
|
|
|
|
|
protected string _providerName; |
|
|
|
@ -71,7 +71,7 @@ public partial class PermissionManagementModal |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
protected Dictionary<string, int> _permissionDepths = new Dictionary<string, int>(); |
|
|
|
|
|
|
|
public PermissionManagementModal() |
|
|
|
@ -137,7 +137,7 @@ public partial class PermissionManagementModal |
|
|
|
{ |
|
|
|
try |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
var updateDto = new UpdatePermissionsDto |
|
|
|
{ |
|
|
|
Permissions = _groups |
|
|
|
@ -145,7 +145,7 @@ public partial class PermissionManagementModal |
|
|
|
.Select(p => new UpdatePermissionDto { IsGranted = p.IsGranted, Name = p.Name }) |
|
|
|
.ToArray() |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
if (!updateDto.Permissions.Any(x => x.IsGranted)) |
|
|
|
{ |
|
|
|
if (!await Message.Confirm(L["SaveWithoutAnyPermissionsWarningMessage"].Value)) |
|
|
|
@ -182,7 +182,7 @@ public partial class PermissionManagementModal |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
protected virtual int GetPermissionDepthOrDefault(string name) |
|
|
|
{ |
|
|
|
return _permissionDepths.GetValueOrDefault(name, 0); |
|
|
|
@ -207,7 +207,7 @@ public partial class PermissionManagementModal |
|
|
|
{ |
|
|
|
SetParentPermissionGrant(permissionGroup, permission); |
|
|
|
} |
|
|
|
else if (value == false) |
|
|
|
else |
|
|
|
{ |
|
|
|
var childPermissions = GetChildPermissions(permissionGroup, permission); |
|
|
|
|
|
|
|
@ -229,7 +229,7 @@ public partial class PermissionManagementModal |
|
|
|
SetPermissionGrant(parentPermission, true); |
|
|
|
|
|
|
|
SetParentPermissionGrant(permissionGroup, parentPermission); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private void SetPermissionGrant(PermissionGrantInfoDto permission, bool value) |
|
|
|
@ -260,7 +260,25 @@ public partial class PermissionManagementModal |
|
|
|
|
|
|
|
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) |
|
|
|
|