Browse Source

permission-management: Disable permission group if all of them granted (blazor)

pull/15809/head
Engincan VESKE 4 years ago
parent
commit
e4e942cc87
  1. 3
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor
  2. 13
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs
  3. 6
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/PermissionManagementModal.cshtml.cs

3
modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor

@ -10,7 +10,7 @@
<ModalBody MaxHeight="50">
<Field>
<Check Cursor="Cursor.Pointer" @bind-Checked="@GrantAll" TValue="bool">@L["SelectAllInAllTabs"]</Check>
<Check Cursor="Cursor.Pointer" @bind-Checked="@GrantAll" TValue="bool" Checked="IsSelectAllDisabled()">@L["SelectAllInAllTabs"]</Check>
</Field>
<Divider />
@ -47,6 +47,7 @@
<Field>
<Check
Disabled="@(IsPermissionGroupDisabled(group))"
Checked="@(group.Permissions.All(x => x.IsGranted))"
Cursor="Cursor.Pointer"
CheckedChanged="@(b => GroupGrantAllChanged(b, group))"

13
modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs

@ -250,4 +250,17 @@ public partial class PermissionManagementModal
eventArgs.Cancel = eventArgs.CloseReason == CloseReason.FocusLostClosing;
return Task.CompletedTask;
}
protected virtual bool IsPermissionGroupDisabled(PermissionGroupDto group)
{
var permissions = group.Permissions;
var grantedProviders = permissions.SelectMany(x => x.GrantedProviders);
return permissions.All(x => x.IsGranted) && grantedProviders.All(p => p.ProviderName != _providerName);
}
protected virtual bool IsSelectAllDisabled()
{
return _groups.All(IsPermissionGroupDisabled);
}
}

6
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/PermissionManagementModal.cshtml.cs

@ -129,12 +129,8 @@ public class PermissionManagementModal : AbpPageModel
public bool IsDisabled(string currentProviderName)
{
if (!Permissions.Any())
{
return false;
}
var grantedProviders = Permissions.SelectMany(x => x.GrantedProviders);
return Permissions.All(x => x.IsGranted) && grantedProviders.All(p => p.ProviderName != currentProviderName);
}
}

Loading…
Cancel
Save