Browse Source

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

pull/15809/head
Engincan VESKE 3 years ago
parent
commit
0338de06fb
  1. 5
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/PermissionManagementModal.cshtml
  2. 11
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/PermissionManagementModal.cshtml.cs

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

@ -15,7 +15,7 @@
<abp-modal size="Large"> <abp-modal size="Large">
<abp-modal-header title="@(L["Permissions"].Value) - @(HttpUtility.HtmlEncode(Model.EntityDisplayName))"></abp-modal-header> <abp-modal-header title="@(L["Permissions"].Value) - @(HttpUtility.HtmlEncode(Model.EntityDisplayName))"></abp-modal-header>
<abp-modal-body class="custom-scroll-container"> <abp-modal-body class="custom-scroll-container">
<abp-input asp-for="SelectAllInAllTabs" check-box-hidden-input-render-mode="CheckBoxHiddenInputRenderMode.None" label="@L["SelectAllInAllTabs"].Value"/> <abp-input asp-for="SelectAllInAllTabs" check-box-hidden-input-render-mode="CheckBoxHiddenInputRenderMode.None" label="@L["SelectAllInAllTabs"].Value" disabled="@Model.Groups.All(group => group.IsDisabled(Model.ProviderName))"/>
<hr class="mt-2 mb-2"/> <hr class="mt-2 mb-2"/>
<input asp-for="@Model.ProviderKey"/> <input asp-for="@Model.ProviderKey"/>
<input asp-for="@Model.ProviderName"/> <input asp-for="@Model.ProviderName"/>
@ -33,7 +33,8 @@
name="SelectAllInThisTab" name="SelectAllInThisTab"
id="SelectAllInThisTab-@group.GetNormalizedGroupName()" id="SelectAllInThisTab-@group.GetNormalizedGroupName()"
data-tab-id="v-pills-tab-@group.GetNormalizedGroupName()" data-tab-id="v-pills-tab-@group.GetNormalizedGroupName()"
label="@L["SelectAllInThisTab"].Value"/> label="@L["SelectAllInThisTab"].Value"
disabled="@group.IsDisabled(Model.ProviderName)" />
<hr class="mb-3"/> <hr class="mb-3"/>
@for (var j = 0; j < group.Permissions.Count; j++) @for (var j = 0; j < group.Permissions.Count; j++)
{ {

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

@ -126,6 +126,17 @@ public class PermissionManagementModal : AbpPageModel
{ {
return Name.Replace(".", "_"); return Name.Replace(".", "_");
} }
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);
}
} }
public class PermissionGrantInfoViewModel : IFlatTreeItem public class PermissionGrantInfoViewModel : IFlatTreeItem

Loading…
Cancel
Save