From 9cf5fd49d36e0349f295102542582ef344809aaf Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 17 Sep 2018 11:19:56 +0300 Subject: [PATCH] blogging module improvements --- .../BloggingPermissionDefinitionProvider.cs | 1 + .../Volo/Blogging/BloggingPermissions.cs | 2 ++ .../Localization/ApplicationContracts/en.json | 1 + .../Localization/ApplicationContracts/tr.json | 3 ++- .../Volo.Blogging.Web/BloggingMenuContributor.cs | 13 ++++++++++--- .../Pages/Admin/Blogs/Index.cshtml | 3 ++- .../Pages/Admin/Blogs/Index.cshtml.cs | 3 ++- .../Pages/Blog/Posts/Detail.cshtml.cs | 3 ++- .../Pages/Blog/Posts/Index.cshtml.cs | 3 ++- 9 files changed, 24 insertions(+), 8 deletions(-) diff --git a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingPermissionDefinitionProvider.cs b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingPermissionDefinitionProvider.cs index de37f084a0..65a6ab1ab7 100644 --- a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingPermissionDefinitionProvider.cs +++ b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingPermissionDefinitionProvider.cs @@ -11,6 +11,7 @@ namespace Volo.Blogging var bloggingGroup = context.AddGroup(BloggingPermissions.GroupName, L("Permission:Blogging")); var blogs = bloggingGroup.AddPermission(BloggingPermissions.Blogs.Default, L("Permission:Blogs")); + blogs.AddChild(BloggingPermissions.Blogs.Management, L("Permission:Management")); blogs.AddChild(BloggingPermissions.Blogs.Update, L("Permission:Edit")); blogs.AddChild(BloggingPermissions.Blogs.Delete, L("Permission:Delete")); blogs.AddChild(BloggingPermissions.Blogs.Create, L("Permission:Create")); diff --git a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingPermissions.cs b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingPermissions.cs index f87e04963d..f77e25f570 100644 --- a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingPermissions.cs +++ b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingPermissions.cs @@ -7,6 +7,7 @@ public static class Blogs { public const string Default = GroupName + ".Blog"; + public const string Management = Default + ".Management"; public const string Delete = Default + ".Delete"; public const string Update = Default + ".Update"; public const string Create = Default + ".Create"; @@ -43,6 +44,7 @@ { GroupName, Blogs.Default, + Blogs.Management, Blogs.Delete, Blogs.Update, Blogs.Create, diff --git a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/ApplicationContracts/en.json b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/ApplicationContracts/en.json index 687130a4fb..425f8733bb 100644 --- a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/ApplicationContracts/en.json +++ b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/ApplicationContracts/en.json @@ -6,6 +6,7 @@ "Permission:Posts": "Posts", "Permission:Tags": "Tags", "Permission:Comments": "Comments", + "Permission:Management": "Management", "Permission:Edit": "Edit", "Permission:Create": "Create", "Permission:Delete": "Delete" diff --git a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/ApplicationContracts/tr.json b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/ApplicationContracts/tr.json index bbe7cee956..9444a12b7b 100644 --- a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/ApplicationContracts/tr.json +++ b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/ApplicationContracts/tr.json @@ -6,7 +6,8 @@ "Permission:Posts": "Yazılar", "Permission:Tags": "Etiketler", "Permission:Comments": "Yorumlar", - "Permission:Edit": "Düzenke", + "Permission:Management": "Yönetme", + "Permission:Edit": "Düzenle", "Permission:Create": "Ekle", "Permission:Delete": "Sil" } diff --git a/modules/blogging/src/Volo.Blogging.Web/BloggingMenuContributor.cs b/modules/blogging/src/Volo.Blogging.Web/BloggingMenuContributor.cs index 311f222f89..26ecb9f34b 100644 --- a/modules/blogging/src/Volo.Blogging.Web/BloggingMenuContributor.cs +++ b/modules/blogging/src/Volo.Blogging.Web/BloggingMenuContributor.cs @@ -28,10 +28,17 @@ namespace Volo.Blogging context.Menu.AddItem(rootMenuItem); - var managementRootMenuItem = new ApplicationMenuItem("BlogManagement", l["Menu:BlogManagement"]); - managementRootMenuItem.AddItem(new ApplicationMenuItem("Blogs", l["Menu:Blogs"], "/Admin/Blogs")); + if (await authorizationService.IsGrantedAsync(BloggingPermissions.Blogs.Management)) + { + var managementRootMenuItem = new ApplicationMenuItem("BlogManagement", l["Menu:BlogManagement"]); - context.Menu.AddItem(managementRootMenuItem); + if (await authorizationService.IsGrantedAsync(BloggingPermissions.Blogs.Management)) + { + managementRootMenuItem.AddItem(new ApplicationMenuItem("BlogsAdmin", l["Menu:Blogs"], "/Admin/Blogs")); + } + + context.Menu.AddItem(managementRootMenuItem); + } } diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml b/modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml index 7e6fd911e0..375641331c 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml +++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml @@ -3,7 +3,7 @@ @using Volo.Blogging @using Volo.Blogging.Pages.Blog @inherits BloggingPage -@model IndexModel +@model Volo.Blogging.Pages.Admin.Blogs.IndexModel @inject IAuthorizationService Authorization @{ ViewBag.PageTitle = "Blogs"; @@ -12,6 +12,7 @@ @section scripts { + } diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml.cs b/modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml.cs index a01cf8fbee..3ead109ebd 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml.cs +++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml.cs @@ -1,10 +1,11 @@ +using System.Threading.Tasks; using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; namespace Volo.Blogging.Pages.Admin.Blogs { public class IndexModel : AbpPageModel { - public void OnGet() + public async Task OnGetAsync() { } diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Detail.cshtml.cs b/modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Detail.cshtml.cs index f7acc38c5b..733afd3d4f 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Detail.cshtml.cs +++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Detail.cshtml.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using System.Web; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; +using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; using Volo.Blogging.Blogs; using Volo.Blogging.Blogs.Dtos; using Volo.Blogging.Comments; @@ -12,7 +13,7 @@ using Volo.Blogging.Posts; namespace Volo.Blogging.Pages.Blog.Posts { - public class DetailModel : PageModel + public class DetailModel : AbpPageModel { private const int TwitterLinkLength = 23; private readonly IPostAppService _postAppService; diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml.cs b/modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml.cs index 3b3b8426b1..f2f66c4082 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml.cs +++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; +using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; using Volo.Blogging.Blogs; using Volo.Blogging.Blogs.Dtos; using Volo.Blogging.Posts; @@ -10,7 +11,7 @@ using Volo.Blogging.Tagging.Dtos; namespace Volo.Blogging.Pages.Blog.Posts { - public class IndexModel : PageModel + public class IndexModel : AbpPageModel { private readonly IPostAppService _postAppService; private readonly IBlogAppService _blogAppService;