From e6e9cbd75ce3812ff7e892b433ec672464ae7d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Mon, 14 Sep 2020 16:37:49 +0300 Subject: [PATCH] improved blazor permission management modal --- .../PermissionManagementModal.razor | 19 ++++++----- .../PermissionManagementModal.razor.cs | 34 +++++++++++++++++-- 2 files changed, 41 insertions(+), 12 deletions(-) diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor index a2c31ca377..596415e34f 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor @@ -5,13 +5,13 @@ - @L["Permissions"] - @_providerKey + @L["Permissions"] - @_entityDisplayName - @L["SelectAllInAllTabs"] + @L["SelectAllInAllTabs"] @@ -44,23 +44,24 @@

@group.DisplayName

- @{ - /* TODO: add Select All In This Tab - @L["SelectAllInThisTab"] + @L["SelectAllInThisTab"] - */ - } - @foreach (var permission in group.Permissions) { - @permission.DisplayName + + @permission.DisplayName + } diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs index d4999c63f4..440ee9bf44 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs @@ -18,6 +18,8 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components private string _entityDisplayName; private List _groups; + private List _disabledPermissions; + private bool GrantAll { get @@ -35,7 +37,10 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components { foreach (var permission in permissionGroupDto.Permissions) { - permission.IsGranted = value; + if (!IsDisabledPermission(permission)) + { + permission.IsGranted = value; + } } } } @@ -51,6 +56,13 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components _entityDisplayName = result.EntityDisplayName; _groups = result.Groups; + _disabledPermissions = + _groups.SelectMany(x => x.Permissions) + .Where( + x => x.IsGranted && + x.GrantedProviders.All(y => y.ProviderName != _providerName) + ).ToList(); + _modal.Show(); } @@ -74,14 +86,30 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components _modal.Hide(); } - public string GetNormalizedGroupName(string name) + private string GetNormalizedGroupName(string name) { return "PermissionGroup_" + name.Replace(".", "_"); } - public void GrantAllChanged(bool value) + private void GrantAllChanged(bool value) { GrantAll = value; } + + private void GroupGrantAllChanged(bool value, string groupName) + { + foreach (var permission in _groups.First(x => x.Name == groupName).Permissions) + { + if (!IsDisabledPermission(permission)) + { + permission.IsGranted = value; + } + } + } + + private bool IsDisabledPermission(PermissionGrantInfoDto permissionGrantInfo) + { + return _disabledPermissions.Any(x => x == permissionGrantInfo); + } } }