Browse Source
Refactor permission management logic to simplify IsDisabled checks
pull/24775/head
maliming
3 days ago
No known key found for this signature in database
GPG Key ID: A646B9CB645ECEA4
1 changed files with
3 additions and
4 deletions
-
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/PermissionManagementModal.cshtml.cs
|
|
|
@ -135,9 +135,7 @@ public class PermissionManagementModal : AbpPageModel |
|
|
|
|
|
|
|
public bool IsDisabled(string currentProviderName) |
|
|
|
{ |
|
|
|
var grantedProviders = Permissions.SelectMany(x => x.GrantedProviders); |
|
|
|
|
|
|
|
return Permissions.All(x => x.IsGranted && x.IsGranted) && grantedProviders.All(p => p.ProviderName != currentProviderName); |
|
|
|
return Permissions.All(p => p.IsDisabled(currentProviderName)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -163,7 +161,7 @@ public class PermissionManagementModal : AbpPageModel |
|
|
|
|
|
|
|
public bool IsDisabled(string currentProviderName) |
|
|
|
{ |
|
|
|
return IsEditable && IsGranted && GrantedProviders.All(p => p.ProviderName != currentProviderName); |
|
|
|
return !IsEditable || (IsGranted && GrantedProviders.All(p => p.ProviderName != currentProviderName)); |
|
|
|
} |
|
|
|
|
|
|
|
public string GetShownName(string currentProviderName) |
|
|
|
@ -175,6 +173,7 @@ public class PermissionManagementModal : AbpPageModel |
|
|
|
|
|
|
|
var grantedByOtherProviders = GrantedProviders |
|
|
|
.Where(p => p.ProviderName != currentProviderName) |
|
|
|
.Select(p => p.ProviderName) |
|
|
|
.ToList(); |
|
|
|
|
|
|
|
if (!grantedByOtherProviders.Any()) |
|
|
|
|