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