Add ClearCheckModels method to RequirePermissionsSimpleBatchStateChecker

Resolve #9028
pull/9029/head
maliming 5 years ago
parent 8e92d4b0b1
commit 3fcf1c5bb3

@ -36,6 +36,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Toolbars
using (var scope = ServiceProvider.CreateScope())
{
RequirePermissionsSimpleBatchStateChecker<ToolbarItem>.Instance.ClearCheckModels();
var context = new ToolbarConfigurationContext(ThemeManager.CurrentTheme, toolbar, scope.ServiceProvider);
foreach (var contributor in Options.Contributors)

@ -22,17 +22,15 @@ namespace Volo.Abp.Authorization.Permissions
{
Check.NotNullOrEmpty(models, nameof(models));
foreach (var model in models)
{
_models.RemoveAll(x => x.State.GetType() == model.State.GetType() &&
x.RequiresAll == model.RequiresAll &&
x.Permissions.SequenceEqual(model.Permissions));
_models.Add(model);
}
_models.AddRange(models);
return this;
}
public void ClearCheckModels()
{
_models.Clear();
}
public override async Task<SimpleStateCheckerResult<TState>> IsEnabledAsync(SimpleBatchStateCheckerContext<TState> context)
{
var permissionChecker = context.ServiceProvider.GetRequiredService<IPermissionChecker>();

@ -31,6 +31,8 @@ namespace Volo.Abp.UI.Navigation
using (var scope = ServiceScopeFactory.CreateScope())
{
RequirePermissionsSimpleBatchStateChecker<ApplicationMenuItem>.Instance.ClearCheckModels();
var context = new MenuConfigurationContext(menu, scope.ServiceProvider);
foreach (var contributor in Options.MenuContributors)

Loading…
Cancel
Save