|
|
|
@ -11,7 +11,7 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
[Inject] private IPermissionAppService PermissionAppService { get; set; }
|
|
|
|
|
|
|
|
|
|
private Modal _modal;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private string _providerName;
|
|
|
|
|
private string _providerKey;
|
|
|
|
|
|
|
|
|
@ -24,7 +24,7 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
|
|
|
|
|
private int _grantedPermissionCount = 0;
|
|
|
|
|
private int _notGrantedPermissionCount = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private bool GrantAll
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
@ -42,16 +42,16 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_grantedPermissionCount = 0;
|
|
|
|
|
_notGrantedPermissionCount = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var permission in _groups.SelectMany(x => x.Permissions))
|
|
|
|
|
{
|
|
|
|
|
if (!IsDisabledPermission(permission))
|
|
|
|
|
{
|
|
|
|
|
permission.IsGranted = value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (value)
|
|
|
|
|
{
|
|
|
|
|
_grantedPermissionCount++;
|
|
|
|
@ -64,7 +64,7 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public async Task OpenAsync(string providerName, string providerKey, string entityDisplayName = null)
|
|
|
|
|
{
|
|
|
|
|
_providerName = providerName;
|
|
|
|
@ -94,7 +94,7 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
_notGrantedPermissionCount++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_selectedTabName = GetNormalizedGroupName(_groups.First().Name);
|
|
|
|
|
|
|
|
|
|
await InvokeAsync(_modal.Show);
|
|
|
|
@ -111,13 +111,13 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
{
|
|
|
|
|
Permissions = _groups
|
|
|
|
|
.SelectMany(g => g.Permissions)
|
|
|
|
|
.Select(p => new UpdatePermissionDto {IsGranted = p.IsGranted, Name = p.Name})
|
|
|
|
|
.Select(p => new UpdatePermissionDto { IsGranted = p.IsGranted, Name = p.Name })
|
|
|
|
|
.ToArray()
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
await PermissionAppService.UpdateAsync(_providerName, _providerKey, updateDto);
|
|
|
|
|
|
|
|
|
|
await InvokeAsync(_modal.Hide);
|
|
|
|
|
await InvokeAsync(_modal.Hide);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private string GetNormalizedGroupName(string name)
|
|
|
|
@ -139,17 +139,17 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
private void PermissionChanged(bool value, PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
|
|
|
|
|
{
|
|
|
|
|
SetPermissionGrant(permission, value);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (value && permission.ParentName != null)
|
|
|
|
|
{
|
|
|
|
|
var parentPermission = GetParentPermission(permissionGroup, permission);
|
|
|
|
|
|
|
|
|
|
SetPermissionGrant(parentPermission, true);
|
|
|
|
|
}
|
|
|
|
|
else if(value == false)
|
|
|
|
|
else if (value == false)
|
|
|
|
|
{
|
|
|
|
|
var childPermissions = GetChildPermissions(permissionGroup, permission);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var childPermission in childPermissions)
|
|
|
|
|
{
|
|
|
|
|
SetPermissionGrant(childPermission, false);
|
|
|
|
@ -163,7 +163,7 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (value)
|
|
|
|
|
{
|
|
|
|
|
_grantedPermissionCount++;
|
|
|
|
@ -174,20 +174,20 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components
|
|
|
|
|
_grantedPermissionCount--;
|
|
|
|
|
_notGrantedPermissionCount++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
permission.IsGranted = value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private PermissionGrantInfoDto GetParentPermission(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
|
|
|
|
|
{
|
|
|
|
|
return permissionGroup.Permissions.First(x => x.Name == permission.ParentName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<PermissionGrantInfoDto> GetChildPermissions(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
|
|
|
|
|
{
|
|
|
|
|
return permissionGroup.Permissions.Where(x => x.Name.StartsWith(permission.Name)).ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private bool IsDisabledPermission(PermissionGrantInfoDto permissionGrantInfo)
|
|
|
|
|
{
|
|
|
|
|
return _disabledPermissions.Any(x => x == permissionGrantInfo);
|
|
|
|
|