Browse Source

Merge pull request #818 from abpframework/Permission-Management-modal-improvements

Permission Management modal improvements
pull/827/head
Halil İbrahim Kalkan 7 years ago
committed by GitHub
parent
commit
0098250caa
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Localization/Resources/AbpPermissionManagement/en.json
  2. 4
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Localization/Resources/AbpPermissionManagement/tr.json
  3. 62
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/PermissionManagementModal.cshtml
  4. 3
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/PermissionManagementModal.cshtml.cs
  5. 11
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/permission-management-modal.js

4
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Localization/Resources/AbpPermissionManagement/en.json

@ -1,6 +1,8 @@
{
"culture": "en",
"texts": {
"Permissions": "Permissions"
"Permissions": "Permissions",
"OnlyProviderPermissons": "Only this provider",
"All": "All"
}
}

4
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Localization/Resources/AbpPermissionManagement/tr.json

@ -1,6 +1,8 @@
{
"culture": "tr",
"texts": {
"Permissions": "İzinler"
"Permissions": "İzinler",
"OnlyProviderPermissons": "Sadece bu sağlayıcı",
"All": "Hepsi"
}
}

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

@ -19,35 +19,49 @@
<input asp-for="@Model.ProviderKey" />
<input asp-for="@Model.ProviderName" />
<abp-row>
<abp-column size-sm="_4">
<div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
@for (var i = 0; i < Model.Groups.Count; i++)
<abp-row h-align="End">
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-light btn-sm @(Model.ShowOnlyProviderPermissons? "":"active")">
<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"
@(!Model.ShowOnlyProviderPermissons ? "" : "checked") /> @L["OnlyProviderPermissons"]
</label>
</div>
</abp-row>
<abp-tabs tab-style="PillVertical" vertical-header-size="_4">
@for (var i = 0; i < Model.Groups.Count; i++)
{
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))
{
<a class="nav-link @(i == 0 ? "active" : "")" id="v-pills-tab-@Model.Groups[i].GetNormalizedGroupName()" data-toggle="pill" href="#v-pills-@Model.Groups[i].GetNormalizedGroupName()" role="tab" aria-controls="v-pills-@Model.Groups[i].GetNormalizedGroupName()" aria-selected="false">@Model.Groups[i].DisplayName</a>
hideTabOnProviderToggle = false;
break;
}
</div>
</abp-column>
<abp-column size-sm="_8">
<div class="tab-content" id="v-pills-tabContent">
@for (var i = 0; i < Model.Groups.Count; i++)
}
<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++)
{
<div class="tab-pane fade @(i == 0 ? "show active" : "")" id="v-pills-@Model.Groups[i].GetNormalizedGroupName()" role="tabpanel" aria-labelledby="v-pills-tab-@Model.Groups[i].GetNormalizedGroupName()">
@for (var j = 0; j < Model.Groups[i].Permissions.Count; j++)
{
<abp-input asp-for="@Model.Groups[i].Permissions[j].IsGranted"
label="@Model.Groups[i].Permissions[j].GetShownName(Model.ProviderName)"
disabled="@Model.Groups[i].Permissions[j].IsDisabled(Model.ProviderName)"
group-data-permission-name="@Model.Groups[i].Permissions[j].Name"
group-data-parent-name="@(Model.Groups[i].Permissions[j].ParentName ?? "")"
group-style="margin-left: @(Model.Groups[i].Permissions[j].Depth * 20)px" />
<input asp-for="@Model.Groups[i].Permissions[j].Name" />
}
var hidePermissonOnProviderToggle = (Model.Groups[i].Permissions[j].Providers?.All(p => p.ProviderName != Model.ProviderName)) ?? true;
<div class="@(hidePermissonOnProviderToggle?"hidePermissonOnProviderToggle":"")">
<abp-input asp-for="@Model.Groups[i].Permissions[j].IsGranted"
label="@Model.Groups[i].Permissions[j].GetShownName(Model.ProviderName)"
disabled="@Model.Groups[i].Permissions[j].IsDisabled(Model.ProviderName)"
group-data-permission-name="@Model.Groups[i].Permissions[j].Name"
group-data-parent-name="@(Model.Groups[i].Permissions[j].ParentName ?? "")"
group-style="margin-left: @(Model.Groups[i].Permissions[j].Depth * 20)px" />
<input asp-for="@Model.Groups[i].Permissions[j].Name" />
</div>
}
</div>
</abp-column>
</abp-row>
</abp-tab>
}
</abp-tabs>
</abp-modal-body>

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

@ -20,6 +20,9 @@ namespace Volo.Abp.PermissionManagement.Web.Pages.AbpPermissionManagement
[BindProperty(SupportsGet = true)]
public string ProviderKey { get; set; }
[BindProperty(SupportsGet = true)]
public bool ShowOnlyProviderPermissons { get; set; } = false;
[BindProperty]
public List<PermissionGroupViewModel> Groups { get; set; }

11
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/permission-management-modal.js

@ -48,6 +48,17 @@
}
});
});
$('input:radio[name="ShowOnlyProviderPermissonsToggle"]').change(
function () {
if ($(this).val() == '1') {
$('.hidePermissonOnProviderToggle').slideUp();
$('.hideTabOnProviderToggle').slideUp();
}
else {
$('.hidePermissonOnProviderToggle').slideDown();
$('.hideTabOnProviderToggle').slideDown();
}
});
});
};
};

Loading…
Cancel
Save