diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs index a8908129d2..f97fc69ee1 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs @@ -21,4 +21,6 @@ public interface IMenuItemAdminAppService : IApplicationService Task MoveMenuItemAsync(Guid id, MenuItemMoveInput input); Task> GetPageLookupAsync(PageLookupInputDto input); + + Task> GetPermissionLookupAsync(PermissionLookupInputDto inputDto); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemCreateInput.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemCreateInput.cs index f5ec9c6444..3e2f78aaba 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemCreateInput.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemCreateInput.cs @@ -27,4 +27,6 @@ public class MenuItemCreateInput : ExtensibleObject public string CssClass { get; set; } public Guid? PageId { get; set; } + + public string RequiredPermissionName { get; set; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemUpdateInput.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemUpdateInput.cs index 8767a6192a..7a5ebc76b5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemUpdateInput.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemUpdateInput.cs @@ -24,6 +24,8 @@ public class MenuItemUpdateInput : ExtensibleObject, IHasConcurrencyStamp public string CssClass { get; set; } public Guid? PageId { get; set; } + + public string RequiredPermissionName { get; set; } public string ConcurrencyStamp { get; set; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/PermissionLookupDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/PermissionLookupDto.cs new file mode 100644 index 0000000000..37000242e7 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/PermissionLookupDto.cs @@ -0,0 +1,8 @@ +namespace Volo.CmsKit.Admin.Menus; + +public class PermissionLookupDto +{ + public string Name { get; set; } + + public string DisplayName { get; set; } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/PermissionLookupInputDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/PermissionLookupInputDto.cs new file mode 100644 index 0000000000..bb4b639da6 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/PermissionLookupInputDto.cs @@ -0,0 +1,6 @@ +namespace Volo.CmsKit.Admin.Menus; + +public class PermissionLookupInputDto +{ + public string Filter { get; set; } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs index 65952c1a15..13abdf9607 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs @@ -1,8 +1,10 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Dtos; +using Volo.Abp.Authorization.Permissions; using Volo.Abp.Data; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; @@ -23,15 +25,18 @@ public class MenuItemAdminAppService : CmsKitAdminAppServiceBase, IMenuItemAdmin protected MenuItemManager MenuManager { get; } protected IMenuItemRepository MenuItemRepository { get; } protected IPageRepository PageRepository { get; } + protected IPermissionDefinitionManager PermissionDefinitionManager { get; } public MenuItemAdminAppService( MenuItemManager menuManager, IMenuItemRepository menuRepository, - IPageRepository pageRepository) + IPageRepository pageRepository, + IPermissionDefinitionManager permissionDefinitionManager) { MenuManager = menuManager; MenuItemRepository = menuRepository; PageRepository = pageRepository; + PermissionDefinitionManager = permissionDefinitionManager; } public virtual async Task> GetListAsync() @@ -70,7 +75,8 @@ public class MenuItemAdminAppService : CmsKitAdminAppServiceBase, IMenuItemAdmin input.Target, input.ElementId, input.CssClass, - CurrentTenant.Id + CurrentTenant.Id, + input.RequiredPermissionName ); if (input.PageId.HasValue) @@ -103,6 +109,7 @@ public class MenuItemAdminAppService : CmsKitAdminAppServiceBase, IMenuItemAdmin menuItem.Target = input.Target; menuItem.ElementId = input.ElementId; menuItem.CssClass = input.CssClass; + menuItem.RequiredPermissionName = input.RequiredPermissionName; menuItem.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); input.MapExtraPropertiesTo(menuItem); await MenuItemRepository.UpdateAsync(menuItem); @@ -138,4 +145,21 @@ public class MenuItemAdminAppService : CmsKitAdminAppServiceBase, IMenuItemAdmin ObjectMapper.Map, List>(pages) ); } + + public virtual async Task> GetPermissionLookupAsync(PermissionLookupInputDto inputDto) + { + var permissions = await PermissionDefinitionManager.GetPermissionsAsync(); + + var permissionLookupDtos= permissions + .WhereIf(!inputDto.Filter.IsNullOrWhiteSpace(), p => p.Name.Contains(inputDto.Filter, StringComparison.OrdinalIgnoreCase)) + .Select(x => new PermissionLookupDto + { + Name = x.Name, + DisplayName = x.DisplayName.Localize(StringLocalizerFactory) + }).ToList(); + + return new ListResultDto( + permissionLookupDtos + ); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Menus/MenuItemAdminClientProxy.Generated.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Menus/MenuItemAdminClientProxy.Generated.cs index 70daab4da0..c707d6ad64 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Menus/MenuItemAdminClientProxy.Generated.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Menus/MenuItemAdminClientProxy.Generated.cs @@ -72,4 +72,12 @@ public partial class MenuItemAdminClientProxy : ClientProxyBase> GetPermissionLookupAsync(PermissionLookupInputDto inputDto) + { + return await RequestAsync>(nameof(GetPermissionLookupAsync), new ClientProxyRequestTypeValue + { + { typeof(PermissionLookupInputDto), inputDto } + }); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json index 8f0e7e677d..9e5f9a843e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json @@ -40,7 +40,7 @@ "typeAsString": "System.Nullable`1[[System.Guid, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib", "type": "System.Guid?", "typeSimple": "string?", - "isOptional": false, + "isOptional": true, "defaultValue": null } ], @@ -2167,6 +2167,23 @@ "type": "Volo.Abp.Application.Dtos.PagedResultDto", "typeSimple": "Volo.Abp.Application.Dtos.PagedResultDto" } + }, + { + "name": "GetPermissionLookupAsync", + "parametersOnMethod": [ + { + "name": "inputDto", + "typeAsString": "Volo.CmsKit.Admin.Menus.PermissionLookupInputDto, Volo.CmsKit.Admin.Application.Contracts", + "type": "Volo.CmsKit.Admin.Menus.PermissionLookupInputDto", + "typeSimple": "Volo.CmsKit.Admin.Menus.PermissionLookupInputDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + } } ] } @@ -2484,6 +2501,43 @@ }, "allowAnonymous": false, "implementFrom": "Volo.CmsKit.Admin.Menus.IMenuItemAdminAppService" + }, + "GetPermissionLookupAsyncByInputDto": { + "uniqueName": "GetPermissionLookupAsyncByInputDto", + "name": "GetPermissionLookupAsync", + "httpMethod": "GET", + "url": "api/cms-kit-admin/menu-items/lookup/permissions", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "inputDto", + "typeAsString": "Volo.CmsKit.Admin.Menus.PermissionLookupInputDto, Volo.CmsKit.Admin.Application.Contracts", + "type": "Volo.CmsKit.Admin.Menus.PermissionLookupInputDto", + "typeSimple": "Volo.CmsKit.Admin.Menus.PermissionLookupInputDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "inputDto", + "name": "Filter", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "inputDto" + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + }, + "allowAnonymous": false, + "implementFrom": "Volo.CmsKit.Admin.Menus.IMenuItemAdminAppService" } } }, diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs index 8540e5306e..e3cac24f54 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs @@ -78,4 +78,11 @@ public class MenuItemAdminController : CmsKitAdminController, IMenuItemAdminAppS { return MenuItemAdminAppService.GetPageLookupAsync(input); } + + [HttpGet] + [Route("lookup/permissions")] + public Task> GetPermissionLookupAsync(PermissionLookupInputDto inputDto) + { + return MenuItemAdminAppService.GetPermissionLookupAsync(inputDto); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml index a79912e51c..8bce5cf45e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml @@ -60,6 +60,11 @@ +
+ + +
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml.cs index eaab7e8903..49a1354b43 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml.cs @@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; using AutoMapper; using Microsoft.AspNetCore.Mvc; +using Volo.Abp.Authorization.Permissions; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; using Volo.Abp.ObjectExtending; @@ -32,7 +33,6 @@ public class CreateModalModel : CmsKitAdminPageModel public virtual async Task OnGetAsync(Guid? parentId) { ViewModel.ParentId = parentId; - IsPageFeatureEnabled = GlobalFeatureManager.Instance.IsEnabled() && await FeatureChecker.IsEnabledAsync(CmsKitFeatures.PageEnable); } @@ -72,6 +72,8 @@ public class CreateModalModel : CmsKitAdminPageModel public string ElementId { get; set; } public string CssClass { get; set; } + + public string RequiredPermissionName { get; set; } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml index a190808560..48e37b6468 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml @@ -64,6 +64,30 @@ } +
+ + +
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml.cs index b64427e516..9cb5af1bba 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; using AutoMapper; @@ -28,6 +29,8 @@ public class UpdateModalModel : CmsKitAdminPageModel public Guid Id { get; set; } public bool IsPageFeatureEnabled { get; set; } + + public IReadOnlyList Permissions { get; set; } public UpdateModalModel(IMenuItemAdminAppService menuAdminAppService, IFeatureChecker featureChecker) { @@ -39,7 +42,7 @@ public class UpdateModalModel : CmsKitAdminPageModel public async Task OnGetAsync() { var menuItemDto = await MenuAdminAppService.GetAsync(Id); - + Permissions = (await MenuAdminAppService.GetPermissionLookupAsync(new PermissionLookupInputDto())).Items; IsPageFeatureEnabled = GlobalFeatureManager.Instance.IsEnabled() && await FeatureChecker.IsEnabledAsync(CmsKitFeatures.PageEnable); @@ -76,6 +79,8 @@ public class UpdateModalModel : CmsKitAdminPageModel public Guid? PageId { get; set; } public string? PageTitle { get; set; } + + public string RequiredPermissionName { get; set; } [HiddenInput] public string ConcurrencyStamp { get; set; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/createModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/createModal.js index 0c4103c6f8..3459328956 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/createModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/createModal.js @@ -8,6 +8,7 @@ $(function () { var $url = $('#ViewModel_Url'); var $displayName = $('#ViewModel_DisplayName'); var $menuItemForm = $('#menu-item-form'); + var $selectRequiredPermission = $('#requiredPermissionName'); $pageId.on('change', function (params) { $url.prop('disabled', $pageId.val()); @@ -20,6 +21,51 @@ $(function () { } }) + function initSelectRequiredPermission(){ + function formatDisplayName(item) { + if (!item.id) { + return item.text; + } + var $displayName = $(`${item.id}`); + $displayName.tooltip(); + return $displayName; + } + + $selectRequiredPermission.select2({ + ajax:{ + url: '/api/cms-kit-admin/menu-items/lookup/permissions', + delay: 250, + dataType: "json", + data: function (params) { + let query = {}; + query["filter"] = params.term; + return query; + }, + processResults: function (data) { + let retVal = []; + let items = data["items"]; + $('body').tooltip('dispose'); + items.forEach(function (item, index) { + retVal.push({ + id: item["name"], + text: item["name"], + displayName: item["displayName"] + }) + }); + return { + results: retVal + }; + } + }, + templateResult: formatDisplayName, + width: '100%', + dropdownParent: $('#menu-create-modal'), + language: abp.localization.currentCulture.cultureName + }); + } + + initSelectRequiredPermission(); + $menuItemForm.on('submit', function (e) { $('[href="#url"]').tab('show'); }); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/updateModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/updateModal.js index 173c6459e5..eb15bf7733 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/updateModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/updateModal.js @@ -8,6 +8,7 @@ $(function () { var $url = $('#ViewModel_Url'); var $displayName = $('#ViewModel_DisplayName'); var $menuItemForm = $('#menu-item-form'); + var $selectRequiredPermission = $('#requiredPermissionName'); $pageId.on('change', function (params) { $url.prop('disabled', $pageId.val()); @@ -21,6 +22,52 @@ $(function () { $pageId.trigger('change'); + function initSelectRequiredPermission(){ + function formatDisplayName(item) { + if (!item.id) { + return item.text; + } + var $displayName = $(`${item.id}`); + $displayName.tooltip(); + return $displayName; + } + + $selectRequiredPermission.select2({ + ajax:{ + url: '/api/cms-kit-admin/menu-items/lookup/permissions', + delay: 250, + dataType: "json", + data: function (params) { + let query = {}; + query["filter"] = params.term; + return query; + }, + processResults: function (data) { + let retVal = []; + let items = data["items"]; + $('body').tooltip('dispose'); + items.forEach(function (item, index) { + retVal.push({ + id: item["name"], + text: item["name"], + displayName: item["displayName"] + }) + }); + return { + results: retVal + }; + } + }, + templateResult: formatDisplayName, + width: '100%', + dropdownParent: $('#menu-update-modal'), + language: abp.localization.currentCulture.cultureName + }); + } + + initSelectRequiredPermission(); + $('[data-ts-toggle="tooltip"]').tooltip() + $menuItemForm.on('submit', function (e) { $('[href="#url"]').tab('show'); }); diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuItemDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuItemDto.cs index 3d785cb9f1..b913f8b49e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuItemDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuItemDto.cs @@ -26,6 +26,8 @@ public class MenuItemDto : ExtensibleAuditedEntityDto, IHasConcurrencyStam public string CssClass { get; set; } public Guid? PageId { get; set; } + + public string RequiredPermissionName { get; set; } public string ConcurrencyStamp { get; set; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json index 1236f52999..f7f1f4bf04 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json @@ -241,6 +241,7 @@ "ChooseAnActionForBlog": "اختر إجراءً للمدونة", "AssignBlogPostsToOtherBlog": "تعيين مشاركات المدونة إلى مدونة أخرى", "SelectAnBlogToAssign": "حدد مدونة لتعيين مشاركات المدونة إليها", - "DeleteAllBlogPostsOfThisBlog": "حذف جميع مشاركات المدونة" + "DeleteAllBlogPostsOfThisBlog": "حذف جميع مشاركات المدونة", + "RequiredPermissionName": "اسم الإذن المطلوب", } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json index 946336668f..b0c4863bdf 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Vyberte akci pro blog", "AssignBlogPostsToOtherBlog": "Přiřaďte blogové příspěvky k jinému blogu", "SelectAnBlogToAssign": "Vyberte blog, ke kterému chcete přiřadit blogové příspěvky", - "DeleteAllBlogPostsOfThisBlog": "Smazat všechny blogové příspěvky tohoto blogu" + "DeleteAllBlogPostsOfThisBlog": "Smazat všechny blogové příspěvky tohoto blogu", + "RequiredPermissionName": "Je vyžadováno oprávnění" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json index 49b5f96ff5..767c47497d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json @@ -165,6 +165,7 @@ "ChooseAnActionForBlog": "Wählen Sie eine Aktion für den Blog", "AssignBlogPostsToOtherBlog": "Blogbeiträge einem anderen Blog zuweisen", "SelectAnBlogToAssign": "Wählen Sie einen Blog aus, um Blogbeiträge zuzuweisen", - "DeleteAllBlogPostsOfThisBlog": "Alle Blogbeiträge dieses Blogs löschen" + "DeleteAllBlogPostsOfThisBlog": "Alle Blogbeiträge dieses Blogs löschen", + "RequiredPermissionName": "Erforderlicher Berechtigungsname" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json index e950983d9c..6ee49f4675 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Wählen Sie eine Aktion für den Blog", "AssignBlogPostsToOtherBlog": "Blogbeiträge einem anderen Blog zuweisen", "SelectAnBlogToAssign": "Wählen Sie einen Blog aus, um Blogbeiträge zuzuweisen", - "DeleteAllBlogPostsOfThisBlog": "Alle Blogbeiträge dieses Blogs löschen" + "DeleteAllBlogPostsOfThisBlog": "Alle Blogbeiträge dieses Blogs löschen", + "RequiredPermissionName": "Erforderlicher Berechtigungsname" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json index 5c3bd58461..af12ccfdf8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json @@ -188,6 +188,7 @@ "ChooseAnActionForBlog": "Επιλέξτε μια ενέργεια για το ιστολόγιο", "AssignBlogPostsToOtherBlog": "Ανάθεση αναρτήσεων ιστολογίου σε άλλο ιστολόγιο", "SelectAnBlogToAssign": "Επιλέξτε ένα ιστολόγιο για να αναθέσετε αναρτήσεις ιστολογίου", - "DeleteAllBlogPostsOfThisBlog": "Διαγραφή όλων των αναρτήσεων ιστολογίου αυτού του ιστολογίου" + "DeleteAllBlogPostsOfThisBlog": "Διαγραφή όλων των αναρτήσεων ιστολογίου αυτού του ιστολογίου", + "RequiredPermissionName": "Απαιτούμενο όνομα δικαιώματος" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json index b8b9060f45..76125e555a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json @@ -32,6 +32,7 @@ "ChooseAnActionForBlog": "Choose an action for the blog", "AssignBlogPostsToOtherBlog": "Assign blog posts to another blog", "SelectAnBlogToAssign": "Select a blog to assign", - "DeleteAllBlogPostsOfThisBlog": "Delete all blog posts of this blog" + "DeleteAllBlogPostsOfThisBlog": "Delete all blog posts of this blog", + "RequiredPermissionName": "Required permission name" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json index 596b9250f6..39fe5267ff 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json @@ -259,6 +259,7 @@ "ChooseAnActionForBlog": "Choose an action for the blog", "AssignBlogPostsToOtherBlog": "Assign blog posts to another blog", "SelectAnBlogToAssign": "Select a blog to assign", - "DeleteAllBlogPostsOfThisBlog": "Delete all blog posts of this blog" + "DeleteAllBlogPostsOfThisBlog": "Delete all blog posts of this blog", + "RequiredPermissionName": "Required permission name" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json index ffe5b410be..985ccd10d5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Elija una acción para el blog", "AssignBlogPostsToOtherBlog": "Asignar publicaciones de blog a otro blog", "SelectAnBlogToAssign": "Seleccione un blog para asignar publicaciones de blog", - "DeleteAllBlogPostsOfThisBlog": "Eliminar todas las publicaciones de blog de este blog" + "DeleteAllBlogPostsOfThisBlog": "Eliminar todas las publicaciones de blog de este blog", + "RequiredPermissionName": "Nombre de permiso requerido" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json index fa6695709d..da26b16bd7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json @@ -187,6 +187,7 @@ "ChooseAnActionForBlog": "یک عمل برای وبلاگ انتخاب کنید", "AssignBlogPostsToOtherBlog": "پست های وبلاگ را به وبلاگ دیگری اختصاص دهید", "SelectAnBlogToAssign": "یک وبلاگ برای اختصاص دادن انتخاب کنید", - "DeleteAllBlogPostsOfThisBlog": "تمام پست های وبلاگ این وبلاگ را حذف کنید" + "DeleteAllBlogPostsOfThisBlog": "تمام پست های وبلاگ این وبلاگ را حذف کنید", + "RequiredPermissionName": "نام مجوز مورد نیاز" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json index f13dc7620c..637672dbdd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Valitse toiminto blogille", "AssignBlogPostsToOtherBlog": "Määritä blogiviestit toiseen blogiin", "SelectAnBlogToAssign": "Valitse blogi, johon haluat määrittää", - "DeleteAllBlogPostsOfThisBlog": "Poista tämän blogin kaikki blogiviestit" + "DeleteAllBlogPostsOfThisBlog": "Poista tämän blogin kaikki blogiviestit", + "RequiredPermissionName": "Tarvittava lupa" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json index f2828aa40e..805a9eeed1 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Choisissez une action pour le blog", "AssignBlogPostsToOtherBlog": "Attribuer des articles de blog à un autre blog", "SelectAnBlogToAssign": "Sélectionnez un blog à attribuer", - "DeleteAllBlogPostsOfThisBlog": "Supprimer tous les articles de blog de ce blog" + "DeleteAllBlogPostsOfThisBlog": "Supprimer tous les articles de blog de ce blog", + "RequiredPermissionName": "Nom de permission requis" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json index ad2dbc18d9..e5c0f008f5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "ब्लॉग के लिए कोई कार्रवाई चुनें", "AssignBlogPostsToOtherBlog": "अन्य ब्लॉग को ब्लॉग पोस्ट असाइन करें", "SelectAnBlogToAssign": "असाइन करने के लिए एक ब्लॉग चुनें", - "DeleteAllBlogPostsOfThisBlog": "इस ब्लॉग के सभी ब्लॉग पोस्ट हटाएं" + "DeleteAllBlogPostsOfThisBlog": "इस ब्लॉग के सभी ब्लॉग पोस्ट हटाएं", + "RequiredPermissionName": "आवश्यक अनुमति नाम" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json index 8e35745e21..8530b5bfc9 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Odaberite radnju za blog", "AssignBlogPostsToOtherBlog": "Dodijelite postove na blogu drugom blogu", "SelectAnBlogToAssign": "Odaberite blog za dodjelu", - "DeleteAllBlogPostsOfThisBlog": "Izbrišite sve postove na blogu" + "DeleteAllBlogPostsOfThisBlog": "Izbrišite sve postove na blogu", + "RequiredPermissionName": "Potrebno ime dozvole" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json index 9a3e4fb64e..52fedf88cd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Válasszon egy műveletet a bloghoz", "AssignBlogPostsToOtherBlog": "Blogbejegyzések hozzárendelése egy másik bloghoz", "SelectAnBlogToAssign": "Válasszon egy blogot a hozzárendeléshez", - "DeleteAllBlogPostsOfThisBlog": "Ez a művelet törli az összes blogbejegyzést ebből a blogból. Biztos vagy benne?" + "DeleteAllBlogPostsOfThisBlog": "Ez a művelet törli az összes blogbejegyzést ebből a blogból. Biztos vagy benne?", + "RequiredPermissionName": "Szükséges engedély neve" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json index bf02d1ff68..cfc4032dcc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Veldu aðgerð fyrir blogg", "AssignBlogPostsToOtherBlog": "Úthluta bloggfærslum til annars bloggs", "SelectAnBlogToAssign": "Veldu blogg til að úthluta", - "DeleteAllBlogPostsOfThisBlog": "Eyða öllum bloggfærslum þessa bloggs" + "DeleteAllBlogPostsOfThisBlog": "Eyða öllum bloggfærslum þessa bloggs", + "RequiredPermissionName": "Nafn á nauðsynlegri leyfi" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json index 7506c439f3..5e3e2d0937 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Scegli un'azione per il blog", "AssignBlogPostsToOtherBlog": "Assegna i post del blog ad un altro blog", "SelectAnBlogToAssign": "Seleziona un blog a cui assegnare i post del blog", - "DeleteAllBlogPostsOfThisBlog": "Elimina tutti i post del blog di questo blog" + "DeleteAllBlogPostsOfThisBlog": "Elimina tutti i post del blog di questo blog", + "RequiredPermissionName": "Nome del permesso richiesto" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json index 1d367dfa5c..8e4c97af34 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Kies een actie voor de blog", "AssignBlogPostsToOtherBlog": "Wijs blogberichten toe aan een andere blog", "SelectAnBlogToAssign": "Selecteer een blog om toe te wijzen", - "DeleteAllBlogPostsOfThisBlog": "Verwijder alle blogberichten van deze blog" + "DeleteAllBlogPostsOfThisBlog": "Verwijder alle blogberichten van deze blog", + "RequiredPermissionName": "Vereiste toestemming" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json index 0b084f585c..6ac083c3bc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Wybierz akcję dla bloga", "AssignBlogPostsToOtherBlog": "Przypisz posty na blogu do innego bloga", "SelectAnBlogToAssign": "Wybierz blog, do którego chcesz przypisać posty na blogu", - "DeleteAllBlogPostsOfThisBlog": "Usuń wszystkie posty na blogu tego bloga" + "DeleteAllBlogPostsOfThisBlog": "Usuń wszystkie posty na blogu tego bloga", + "RequiredPermissionName": "Wymagana nazwa uprawnienia" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json index 3991bc0595..d557fca98e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Escolha uma ação para o blog", "AssignBlogPostsToOtherBlog": "Atribuir postagens de blog a outro blog", "SelectAnBlogToAssign": "Selecione um blog para atribuir", - "DeleteAllBlogPostsOfThisBlog": "Excluir todas as postagens de blog deste blog" + "DeleteAllBlogPostsOfThisBlog": "Excluir todas as postagens de blog deste blog", + "RequiredPermissionName": "Nome da permissão necessária" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json index c6b486a11a..f37b7a0161 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Alegeţi o acţiune pentru blog", "AssignBlogPostsToOtherBlog": "Atribuiţi postările de blog la alt blog", "SelectAnBlogToAssign": "Selectaţi un blog pentru a atribui postările de blog", - "DeleteAllBlogPostsOfThisBlog": "Ştergeţi toate postările de blog ale acestui blog" + "DeleteAllBlogPostsOfThisBlog": "Ştergeţi toate postările de blog ale acestui blog", + "RequiredPermissionName": "Numele permisiunii necesare" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json index c23671c843..7ff7851e73 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Выберите действие для блога", "AssignBlogPostsToOtherBlog": "Назначить сообщения в блоге другому блогу", "SelectAnBlogToAssign": "Выберите блог для назначения", - "DeleteAllBlogPostsOfThisBlog": "Удалить все сообщения в блоге этого блога" + "DeleteAllBlogPostsOfThisBlog": "Удалить все сообщения в блоге этого блога", + "RequiredPermissionName": "Имя требуемого разрешения" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json index a1ff2cfb01..6fadf538f0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Vyberte akciu pre blog", "AssignBlogPostsToOtherBlog": "Priradiť blogové príspevky k inému blogu", "SelectAnBlogToAssign": "Vyberte blog, na ktorý chcete priradiť blogové príspevky", - "DeleteAllBlogPostsOfThisBlog": "Zmazať všetky blogové príspevky tohto blogu" + "DeleteAllBlogPostsOfThisBlog": "Zmazať všetky blogové príspevky tohto blogu", + "RequiredPermissionName": "Požadovaný názov oprávnenia" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json index b4d525c3e4..57a7c22f67 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Izberite dejanje za blog", "AssignBlogPostsToOtherBlog": "Dodeli objave v blogu drugemu blogu", "SelectAnBlogToAssign": "Izberite blog, ki mu želite dodeliti objave", - "DeleteAllBlogPostsOfThisBlog": "Izbriši vse objave v tem blogu" + "DeleteAllBlogPostsOfThisBlog": "Izbriši vse objave v tem blogu", + "RequiredPermissionName": "Ime zahtevane dovoljenja" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sv.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sv.json index f9604657ce..4d63eb822f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sv.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sv.json @@ -258,6 +258,7 @@ "ChooseAnActionForBlog": "Välj en åtgärd för bloggen", "AssignBlogPostsToOtherBlog": "Tilldela blogginlägg till en annan blogg", "SelectAnBlogToAssign": "Välj en blogg att tilldela", - "DeleteAllBlogPostsOfThisBlog": "Radera alla blogginlägg i denna blogg" + "DeleteAllBlogPostsOfThisBlog": "Radera alla blogginlägg i denna blogg", + "RequiredPermissionName": "Nödvändigt behörighetsnamn" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json index 0e5d6d7c11..3e1166133c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json @@ -222,6 +222,7 @@ "ChooseAnActionForBlog": "Blog için bir eylem seçin", "AssignBlogPostsToOtherBlog": "Diğer bloglara blog yazıları atayın", "SelectAnBlogToAssign": "Atanacak bir blog seçin", - "DeleteAllBlogPostsOfThisBlog": "Bu blogun tüm blog yazılarını sil" + "DeleteAllBlogPostsOfThisBlog": "Bu blogun tüm blog yazılarını sil", + "RequiredPermissionName": "Gerekli izin adı" } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json index 0a2159e104..9d56cadb8f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "Chọn một hành động cho blog", "AssignBlogPostsToOtherBlog": "Gán bài đăng trên blog cho blog khác", "SelectAnBlogToAssign": "Chọn một blog để gán", - "DeleteAllBlogPostsOfThisBlog": "Xóa tất cả bài đăng trên blog của blog này" + "DeleteAllBlogPostsOfThisBlog": "Xóa tất cả bài đăng trên blog của blog này", + "RequiredPermissionName": "Tên quyền cần thiết" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json index 18ae3004cb..e3ad52a8ec 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "选择博客的操作", "AssignBlogPostsToOtherBlog": "将博客文章分配给其他博客", "SelectAnBlogToAssign": "选择要分配的博客", - "DeleteAllBlogPostsOfThisBlog": "删除此博客的所有博客文章" + "DeleteAllBlogPostsOfThisBlog": "删除此博客的所有博客文章", + "RequiredPermissionName": "所需权限名称" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json index 80c30a6be3..185fa3a3d5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json @@ -231,6 +231,7 @@ "ChooseAnActionForBlog": "選擇部落格的操作", "AssignBlogPostsToOtherBlog": "將部落格文章分配給其他部落格", "SelectAnBlogToAssign": "選擇要分配的部落格", - "DeleteAllBlogPostsOfThisBlog": "刪除此部落格的所有部落格文章" + "DeleteAllBlogPostsOfThisBlog": "刪除此部落格的所有部落格文章", + "RequiredPermissionName": "所需權限名稱" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuItemConsts.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuItemConsts.cs index 6484d5280e..25779876db 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuItemConsts.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuItemConsts.cs @@ -4,4 +4,5 @@ public static class MenuItemConsts { public const int MaxDisplayNameLength = 64; public const int MaxUrlLength = 1024; + public const int MaxRequiredPermissionNameLength = 128; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuItem.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuItem.cs index 56cef52826..418bb19408 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuItem.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuItem.cs @@ -40,6 +40,8 @@ public class MenuItem : AuditedAggregateRoot, IMultiTenant public Guid? PageId { get; protected set; } public Guid? TenantId { get; protected set; } + + public string RequiredPermissionName { get; set; } protected MenuItem() { @@ -55,7 +57,8 @@ public class MenuItem : AuditedAggregateRoot, IMultiTenant [CanBeNull] string target = null, [CanBeNull] string elementId = null, [CanBeNull] string cssClass = null, - [CanBeNull] Guid? tenantId = null) + [CanBeNull] Guid? tenantId = null, + [CanBeNull] string requiredPermissionName = null) : base(id) { SetDisplayName(displayName); @@ -68,6 +71,7 @@ public class MenuItem : AuditedAggregateRoot, IMultiTenant ElementId = elementId; CssClass = cssClass; TenantId = tenantId; + RequiredPermissionName = requiredPermissionName; } public void SetDisplayName([NotNull] string displayName) diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs index b453f52fc5..c5b93022c6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs @@ -261,6 +261,8 @@ public static class CmsKitDbContextModelCreatingExtensions b.Property(x => x.DisplayName).IsRequired().HasMaxLength(MenuItemConsts.MaxDisplayNameLength); b.Property(x => x.Url).IsRequired().HasMaxLength(MenuItemConsts.MaxUrlLength); + + b.Property(x => x.RequiredPermissionName).HasMaxLength(MenuItemConsts.MaxRequiredPermissionNameLength); }); } else diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Menus/CmsKitPublicMenuContributor.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Menus/CmsKitPublicMenuContributor.cs index 7d9bc797b9..d7b879227a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Menus/CmsKitPublicMenuContributor.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Menus/CmsKitPublicMenuContributor.cs @@ -1,7 +1,9 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Authorization.Permissions; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; using Volo.Abp.UI.Navigation; @@ -55,7 +57,7 @@ public class CmsKitPublicMenuContributor : IMenuContributor private ApplicationMenuItem CreateApplicationMenuItem(MenuItemDto menuItem) { - return new ApplicationMenuItem( + var menu = new ApplicationMenuItem( menuItem.DisplayName, menuItem.DisplayName, menuItem.Url, @@ -65,5 +67,11 @@ public class CmsKitPublicMenuContributor : IMenuContributor menuItem.ElementId, menuItem.CssClass ); + if (!menuItem.RequiredPermissionName.IsNullOrWhiteSpace()) + { + menu.RequirePermissions(menuItem.RequiredPermissionName); + } + + return menu; } }