From 425beff41db63833b4ad2f3078e385c8d92a14a8 Mon Sep 17 00:00:00 2001 From: Musa Demir Date: Fri, 25 Mar 2022 02:42:11 +0300 Subject: [PATCH] add draft --- .../Admin/Blogs/IBlogPostAdminAppService.cs | 1 + .../Admin/Blogs/BlogPostAdminAppService.cs | 7 +++++++ .../BlogPostAdminClientProxy.Generated.cs | 8 ++++++++ .../Admin/Blogs/BlogPostAdminController.cs | 8 ++++++++ .../Pages/CmsKit/BlogPosts/index.js | 17 +++++++++++++++++ .../client-proxies/cms-kit-admin-proxy.js | 8 ++++++++ .../Volo/CmsKit/Localization/Resources/en.json | 1 + .../Volo/CmsKit/Localization/Resources/tr.json | 1 + 8 files changed, 51 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs index d90d5211c4..d8f74d6d66 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs @@ -15,6 +15,7 @@ public interface IBlogPostAdminAppService { Task PublishAsync(Guid id); + Task DraftAsync(Guid id); Task CreateAndPublishAsync(CreateBlogPostDto input); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs index d666b8e5d6..2635935efe 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs @@ -121,6 +121,13 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe blogPost.SetPublished(); } + [Authorize(CmsKitAdminPermissions.BlogPosts.Update)] + public virtual async Task DraftAsync(Guid id) + { + var blogPost = await BlogPostRepository.GetAsync(id); + blogPost.SetDraft(); + } + [Authorize(CmsKitAdminPermissions.BlogPosts.Create)] [Authorize(CmsKitAdminPermissions.BlogPosts.Publish)] public virtual async Task CreateAndPublishAsync(CreateBlogPostDto input) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/BlogPostAdminClientProxy.Generated.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/BlogPostAdminClientProxy.Generated.cs index b0d733cc8c..25d8bcf9fd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/BlogPostAdminClientProxy.Generated.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/BlogPostAdminClientProxy.Generated.cs @@ -64,6 +64,14 @@ public partial class BlogPostAdminClientProxy : ClientProxyBase CreateAndPublishAsync(CreateBlogPostDto input) { return await RequestAsync(nameof(CreateAndPublishAsync), new ClientProxyRequestTypeValue diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs index eedd8e5074..ccc2e4fd25 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs @@ -70,6 +70,14 @@ public class BlogPostAdminController : CmsKitAdminController, IBlogPostAdminAppS return BlogPostAdminAppService.PublishAsync(id); } + [HttpPost] + [Route("draft/{id}")] + [Authorize(CmsKitAdminPermissions.BlogPosts.Update)] + public virtual Task DraftAsync(Guid id) + { + return BlogPostAdminAppService.DraftAsync(id); + } + [HttpPost] [Route("createandpublish")] [Authorize(CmsKitAdminPermissions.BlogPosts.Create)] diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/index.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/index.js index 9f3402d23a..8b941f84b5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/index.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/index.js @@ -54,6 +54,23 @@ $(function () { }); } }, + { + text: l('Draft'), + visible: function(data) { + return data?.status !== blogPostStatus.Draft && abp.auth.isGranted('CmsKit.BlogPosts.Update'); + }, + confirmMessage: function (data) { + return l("BlogPostDraftConfirmationMessage", data.record.title) + }, + action: function (data) { + blogsService + .draft(data.record.id) + .then(function () { + dataTable.ajax.reload(); + abp.notify.success(l('SuccessfullySaved')); + }); + } + }, { text: l('Delete'), visible: abp.auth.isGranted('CmsKit.BlogPosts.Delete'), diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/wwwroot/client-proxies/cms-kit-admin-proxy.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/wwwroot/client-proxies/cms-kit-admin-proxy.js index 7513ae8956..aafdf7d245 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/wwwroot/client-proxies/cms-kit-admin-proxy.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/wwwroot/client-proxies/cms-kit-admin-proxy.js @@ -399,6 +399,14 @@ }, ajaxParams)); }; + volo.cmsKit.admin.blogs.blogPostAdmin.draft = function(id, ajaxParams) { + return abp.ajax($.extend(true, { + url: abp.appPath + 'api/cms-kit-admin/blogs/blog-posts/draft/' + id + '', + type: 'POST', + dataType: null + }, ajaxParams)); + }; + volo.cmsKit.admin.blogs.blogPostAdmin.createAndPublish = function(input, ajaxParams) { return abp.ajax($.extend(true, { url: abp.appPath + 'api/cms-kit-admin/blogs/blog-posts/createandpublish', 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 9e8bb49d2e..1083826bf7 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 @@ -172,5 +172,6 @@ "SuccessfullyPublished": "Successfully published!", "Draft": "Draft", "Publish": "Publish", + "BlogPostDraftConfirmationMessage": "Are you sure to set the blog post \"{0}\" as draft?" } } 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 e1367ab204..67ca5eeafd 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 @@ -171,5 +171,6 @@ "SuccessfullyPublished": "Başarıyla yayınlandı", "Draft": "Taslak olarak kaydet", "Publish": "Yayınla", + "BlogPostDraftConfirmationMessage": "\"{0}\" başlıklı gönderiyi taslak haline getirmek istediğinize emin misiniz?" } }