permission modal refactor

pull/827/head
Yunus Emre Kalkan 7 years ago
parent d07a689cb1
commit a4b069cf6f

@ -12,6 +12,8 @@ namespace Volo.Abp.PermissionManagement
public bool IsGranted { get; set; }
public List<ProviderInfoDto> Providers { get; set; }
public List<string> AllowedProviders { get; set; }
public List<ProviderInfoDto> GrantedProviders { get; set; }
}
}

@ -62,7 +62,8 @@ namespace Volo.Abp.PermissionManagement
Name = permission.Name,
DisplayName = permission.DisplayName.Localize(_stringLocalizerFactory),
ParentName = permission.Parent?.Name,
Providers = new List<ProviderInfoDto>()
AllowedProviders = permission.Providers,
GrantedProviders = new List<ProviderInfoDto>()
};
var grantInfo = await _permissionManager.GetAsync(permission.Name, providerName, providerKey);
@ -71,7 +72,7 @@ namespace Volo.Abp.PermissionManagement
foreach (var provider in grantInfo.Providers)
{
grantInfoDto.Providers.Add(new ProviderInfoDto
grantInfoDto.GrantedProviders.Add(new ProviderInfoDto
{
ProviderName = provider.Name,
ProviderKey = provider.Key,

@ -25,8 +25,8 @@
<input type="radio" value="0" name="ShowOnlyProviderPermissonsToggle" autocomplete="off"
@(Model.ShowOnlyProviderPermissons ? "" : "checked") /> @L["All"]
</label>
<label class="btn btn-light btn-sm @(!Model.ShowOnlyProviderPermissons? "":"active")">
<input type="radio" value="1" name="ShowOnlyProviderPermissonsToggle" autocomplete="off"
<label id="ShowOnlyProviderPermissonsLabel" class="btn btn-light btn-sm @(!Model.ShowOnlyProviderPermissons? "":"active")">
<input type="radio" value="1" name="ShowOnlyProviderPermissonsToggle" id="ShowOnlyProviderPermissonsInput" autocomplete="off"
@(!Model.ShowOnlyProviderPermissons ? "" : "checked") /> @L["OnlyProviderPermissons"]
</label>
</div>
@ -38,7 +38,7 @@
var hideTabOnProviderToggle = true;
@for (var j = 0; j < Model.Groups[i].Permissions.Count; j++)
{
if (!((Model.Groups[i].Permissions[j].Providers?.All(p => p.ProviderName != Model.ProviderName)) ?? true))
if (!(!Model.Groups[i].Permissions[j].AllowedProviders?.Any() ?? true))
{
hideTabOnProviderToggle = false;
break;
@ -48,7 +48,7 @@
<abp-tab header-class="@(hideTabOnProviderToggle?"hideTabOnProviderToggle":"")" title="@Model.Groups[i].DisplayName" name="v-pills-tab-@Model.Groups[i].GetNormalizedGroupName()">
@for (var j = 0; j < Model.Groups[i].Permissions.Count; j++)
{
var hidePermissonOnProviderToggle = (Model.Groups[i].Permissions[j].Providers?.All(p => p.ProviderName != Model.ProviderName)) ?? true;
var hidePermissonOnProviderToggle = !Model.Groups[i].Permissions[j].AllowedProviders?.Any() ?? true;
<div class="@(hidePermissonOnProviderToggle?"hidePermissonOnProviderToggle":"")">
<abp-input asp-for="@Model.Groups[i].Permissions[j].IsGranted"
label="@Model.Groups[i].Permissions[j].GetShownName(Model.ProviderName)"

@ -107,11 +107,13 @@ namespace Volo.Abp.PermissionManagement.Web.Pages.AbpPermissionManagement
public bool IsGranted { get; set; }
public List<ProviderInfoViewModel> Providers { get; set; }
public List<string> AllowedProviders { get; set; }
public List<ProviderInfoViewModel> GrantedProviders { get; set; }
public bool IsDisabled(string currentProviderName)
{
return IsGranted && Providers.All(p => p.ProviderName != currentProviderName);
return IsGranted && GrantedProviders.All(p => p.ProviderName != currentProviderName);
}
public string GetShownName(string currentProviderName)
@ -124,7 +126,7 @@ namespace Volo.Abp.PermissionManagement.Web.Pages.AbpPermissionManagement
return string.Format(
"{0} <span class=\"text-muted\">({1})</span>",
DisplayName,
Providers
GrantedProviders
.Where(p => p.ProviderName != currentProviderName)
.Select(p => p.ProviderName)
.JoinAsString(", ")

@ -35,6 +35,17 @@
});
}
function togglePermissions(radioButton) {
if (radioButton.val() == '1') {
$('.hidePermissonOnProviderToggle').slideUp();
$('.hideTabOnProviderToggle').slideUp();
}
else {
$('.hidePermissonOnProviderToggle').slideDown();
$('.hideTabOnProviderToggle').slideDown();
}
}
this.initDom = function($el) {
$el.find('.tab-pane').each(function () {
var $tab = $(this);
@ -48,18 +59,19 @@
}
});
});
$('input:radio[name="ShowOnlyProviderPermissonsToggle"]').change(
function () {
if ($(this).val() == '1') {
$('.hidePermissonOnProviderToggle').slideUp();
$('.hideTabOnProviderToggle').slideUp();
}
else {
$('.hidePermissonOnProviderToggle').slideDown();
$('.hideTabOnProviderToggle').slideDown();
}
});
});
var radioButton = $('input:radio[name="ShowOnlyProviderPermissonsToggle"]');
if ($('#ShowOnlyProviderPermissonsLabel').hasClass('active')) {
$('.hidePermissonOnProviderToggle').slideUp();
$('.hideTabOnProviderToggle').slideUp();
}
radioButton.change(
function () {
togglePermissions($(this));
});
};
};
})(jQuery);
Loading…
Cancel
Save