Merge pull request #15819 from abpframework/auto-merge/rel-7-1/1760

Merge branch dev with rel-7.1
pull/14861/head^2
maliming 3 years ago committed by GitHub
commit 6339414dfd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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

@ -33,6 +33,8 @@ public partial class PermissionManagementModal
protected int _grantedPermissionCount = 0;
protected int _notGrantedPermissionCount = 0;
protected bool _selectAllDisabled;
protected bool GrantAll {
get {
if (_notGrantedPermissionCount == 0)
@ -87,6 +89,8 @@ public partial class PermissionManagementModal
_entityDisplayName = entityDisplayName ?? result.EntityDisplayName;
_groups = result.Groups;
_selectAllDisabled = _groups.All(IsPermissionGroupDisabled);
_grantedPermissionCount = 0;
_notGrantedPermissionCount = 0;
foreach (var permission in _groups.SelectMany(x => x.Permissions))
@ -250,4 +254,12 @@ 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);
}
}

@ -15,7 +15,7 @@
<abp-modal size="Large">
<abp-modal-header title="@(L["Permissions"].Value) - @(HttpUtility.HtmlEncode(Model.EntityDisplayName))"></abp-modal-header>
<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"/>
<input asp-for="@Model.ProviderKey"/>
<input asp-for="@Model.ProviderName"/>
@ -33,7 +33,8 @@
name="SelectAllInThisTab"
id="SelectAllInThisTab-@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"/>
@for (var j = 0; j < group.Permissions.Count; j++)
{

@ -126,6 +126,13 @@ public class PermissionManagementModal : AbpPageModel
{
return Name.Replace(".", "_");
}
public bool IsDisabled(string currentProviderName)
{
var grantedProviders = Permissions.SelectMany(x => x.GrantedProviders);
return Permissions.All(x => x.IsGranted) && grantedProviders.All(p => p.ProviderName != currentProviderName);
}
}
public class PermissionGrantInfoViewModel : IFlatTreeItem

@ -234,6 +234,14 @@ var abp = abp || {};
$('.tab-pane input[type="checkbox"]')
.not(':disabled')
.prop('checked', true);
$('input[name="SelectAllInThisTab"]').each(function () {
var $this = $(this);
if($this.is(':indeterminate') === true) {
$this.prop('indeterminate', false);
$this.prop('checked', true);
}
});
} else {
$('.tab-pane input[type="checkbox"]')
.not(':disabled')

Loading…
Cancel
Save