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;