From 7efba79d46ba23d3d377c330bc80bdd9544fc99b Mon Sep 17 00:00:00 2001 From: Ahmet Date: Mon, 1 Mar 2021 15:44:03 +0300 Subject: [PATCH] update cms menu contributor --- .../Menus/CmsKitAdminMenuContributor.cs | 92 +++++++++++-------- 1 file changed, 52 insertions(+), 40 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs index 824660da11..e38a9e486b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs @@ -1,4 +1,6 @@ -using System.Threading.Tasks; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; using Volo.Abp.GlobalFeatures; using Volo.Abp.UI.Navigation; using Volo.CmsKit.GlobalFeatures; @@ -26,72 +28,82 @@ namespace Volo.CmsKit.Admin.Web.Menus { var l = context.GetLocalizer(); - var cmsMenu = context.Menu.FindMenuItem(CmsKitAdminMenus.GroupName); - - cmsMenu ??= new ApplicationMenuItem( - CmsKitAdminMenus.GroupName, - l["Cms"], - icon: "far fa-newspaper"); - - if (GlobalFeatureManager.Instance.IsEnabled()) - { - if (await context.IsGrantedAsync(CmsKitAdminPermissions.Comments.Default)) - { - cmsMenu.AddItem(new ApplicationMenuItem( - CmsKitAdminMenus.Comments.CommentsMenu, - l["Comments"].Value, - "/Cms/Comments" - ) - ); - } - } - - if (GlobalFeatureManager.Instance.IsEnabled()) - { - if (await context.IsGrantedAsync(CmsKitAdminPermissions.Tags.Default)) - { - cmsMenu.AddItem(new ApplicationMenuItem( - CmsKitAdminMenus.Tags.TagsMenu, - l["Tags"].Value, - "/Cms/Tags")); - } - } - + var cmsMenus = new List(); + if (GlobalFeatureManager.Instance.IsEnabled()) { if (await context.IsGrantedAsync(CmsKitAdminPermissions.Pages.Default)) { - cmsMenu.AddItem(new ApplicationMenuItem( + cmsMenus.Add(new ApplicationMenuItem( CmsKitAdminMenus.Pages.PagesMenu, l["Pages"].Value, "/Cms/Pages")); } } - + if (GlobalFeatureManager.Instance.IsEnabled()) { if (await context.IsGrantedAsync(CmsKitAdminPermissions.Blogs.Default)) { - cmsMenu.AddItem(new ApplicationMenuItem( + cmsMenus.Add(new ApplicationMenuItem( CmsKitAdminMenus.Blogs.BlogsMenu, l["Blogs"], "/Cms/Blogs" - )); + )); } if (await context.IsGrantedAsync(CmsKitAdminPermissions.BlogPosts.Default)) { - cmsMenu.AddItem(new ApplicationMenuItem( + cmsMenus.Add(new ApplicationMenuItem( CmsKitAdminMenus.BlogPosts.BlogPostsMenu, l["BlogPosts"], "/Cms/BlogPosts" - )); + )); + } + } + + if (GlobalFeatureManager.Instance.IsEnabled()) + { + if (await context.IsGrantedAsync(CmsKitAdminPermissions.Tags.Default)) + { + cmsMenus.Add(new ApplicationMenuItem( + CmsKitAdminMenus.Tags.TagsMenu, + l["Tags"].Value, + "/Cms/Tags")); + } + } + + if (GlobalFeatureManager.Instance.IsEnabled()) + { + if (await context.IsGrantedAsync(CmsKitAdminPermissions.Comments.Default)) + { + cmsMenus.Add(new ApplicationMenuItem( + CmsKitAdminMenus.Comments.CommentsMenu, + l["Comments"].Value, + "/Cms/Comments" + ) + ); } } - if (cmsMenu.Items.Count > 0) + if (cmsMenus.Any()) { - context.Menu.AddItem(cmsMenu); + var cmsMenu = context.Menu.FindMenuItem(CmsKitAdminMenus.GroupName); + + if (cmsMenu == null) + { + cmsMenu = new ApplicationMenuItem( + CmsKitAdminMenus.GroupName, + l["Cms"], + icon: "far fa-newspaper"); + + context.Menu.AddItem(cmsMenu); + } + + foreach (var menu in cmsMenus) + { + cmsMenu.AddItem(menu); + } } } }