|
|
|
@ -28,8 +28,6 @@ public partial class PermissionManagementModal |
|
|
|
protected List<PermissionGroupDto> _allGroups; |
|
|
|
protected List<PermissionGroupDto> _groups; |
|
|
|
|
|
|
|
protected List<PermissionGrantInfoDto> _disabledPermissions = new List<PermissionGrantInfoDto>(); |
|
|
|
|
|
|
|
protected string _selectedTabName; |
|
|
|
|
|
|
|
protected bool _selectAllDisabled; |
|
|
|
@ -102,19 +100,6 @@ public partial class PermissionManagementModal |
|
|
|
{ |
|
|
|
_selectAllDisabled = _groups.All(IsPermissionGroupDisabled); |
|
|
|
|
|
|
|
if (checkDisabledPermissions) |
|
|
|
{ |
|
|
|
_disabledPermissions.Clear(); |
|
|
|
} |
|
|
|
|
|
|
|
foreach (var permission in _groups.SelectMany(x => x.Permissions)) |
|
|
|
{ |
|
|
|
if (checkDisabledPermissions && permission.IsGranted && permission.GrantedProviders.All(x => x.ProviderName != _providerName)) |
|
|
|
{ |
|
|
|
_disabledPermissions.Add(permission); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
foreach (var group in _groups) |
|
|
|
{ |
|
|
|
SetPermissionDepths(group.Permissions, null, 0); |
|
|
|
@ -285,12 +270,28 @@ public partial class PermissionManagementModal |
|
|
|
|
|
|
|
protected virtual bool IsDisabledPermission(PermissionGrantInfoDto permissionGrantInfo) |
|
|
|
{ |
|
|
|
return _disabledPermissions.Any(x => x == permissionGrantInfo); |
|
|
|
if (!permissionGrantInfo.IsEditable) |
|
|
|
{ |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
return permissionGrantInfo.IsGranted && |
|
|
|
permissionGrantInfo.GrantedProviders.All(p => p.ProviderName != _providerName); |
|
|
|
} |
|
|
|
|
|
|
|
protected virtual string GetShownName(PermissionGrantInfoDto permissionGrantInfo) |
|
|
|
{ |
|
|
|
if (!IsDisabledPermission(permissionGrantInfo)) |
|
|
|
if (permissionGrantInfo.GrantedProviders.All(p => p.ProviderName == _providerName)) |
|
|
|
{ |
|
|
|
return permissionGrantInfo.DisplayName; |
|
|
|
} |
|
|
|
|
|
|
|
var grantedByOtherProviders = permissionGrantInfo.GrantedProviders |
|
|
|
.Where(p => p.ProviderName != _providerName) |
|
|
|
.Select(p => p.ProviderName) |
|
|
|
.ToList(); |
|
|
|
|
|
|
|
if (!grantedByOtherProviders.Any()) |
|
|
|
{ |
|
|
|
return permissionGrantInfo.DisplayName; |
|
|
|
} |
|
|
|
@ -298,10 +299,7 @@ public partial class PermissionManagementModal |
|
|
|
return string.Format( |
|
|
|
"{0} ({1})", |
|
|
|
permissionGrantInfo.DisplayName, |
|
|
|
permissionGrantInfo.GrantedProviders |
|
|
|
.Where(p => p.ProviderName != _providerName) |
|
|
|
.Select(p => p.ProviderName) |
|
|
|
.JoinAsString(", ") |
|
|
|
grantedByOtherProviders.JoinAsString(", ") |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
@ -313,10 +311,7 @@ public partial class PermissionManagementModal |
|
|
|
|
|
|
|
protected virtual bool IsPermissionGroupDisabled(PermissionGroupDto group) |
|
|
|
{ |
|
|
|
var permissions = group.Permissions; |
|
|
|
var grantedProviders = permissions.SelectMany(x => x.GrantedProviders); |
|
|
|
|
|
|
|
return permissions.All(x => x.IsGranted) && grantedProviders.Any(p => p.ProviderName != _providerName); |
|
|
|
return group.Permissions.All(IsDisabledPermission); |
|
|
|
} |
|
|
|
|
|
|
|
protected virtual async Task ResetSearchTextAsync() |
|
|
|
|