From 6fb41780deea00336ecfd34cf3c325c8556c2347 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Thu, 15 Apr 2021 16:12:43 +0300 Subject: [PATCH 1/3] added last modification time to page listing --- .../Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/index.js | 9 ++++++++- .../Volo/CmsKit/Localization/Resources/en.json | 3 ++- .../Volo/CmsKit/Localization/Resources/tr.json | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/index.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/index.js index 10b1950c0a..3807d27405 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/index.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/index.js @@ -62,7 +62,14 @@ { title: l("CreationTime"), orderable: true, - data: 'creationTime' + data: 'creationTime', + dataFormat: "datetime" + }, + { + title: l("LastModificationTime"), + orderable: true, + data: 'lastModificationTime', + dataFormat: "datetime" } ] })); 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 bd0fcd592e..ef8a58773a 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 @@ -128,6 +128,7 @@ "YourEmailAddress": "Your e-mail address", "YourFullName": "Your full name", "YourMessage": "Your Message", - "YourReply": "Your reply" + "YourReply": "Your reply", + "LastModificationTime": "Last Modification Time" } } 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 574c1f9b5d..4f86537df0 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 @@ -120,6 +120,7 @@ "YourEmailAddress": "Email adresiniz", "YourFullName": "Tam adınız", "YourMessage": "Mesajınız", - "YourReply": "Cevabınız" + "YourReply": "Cevabınız", + "LastModificationTime": "Son Güncelleme Zamanı" } } From 5287f26b0223f09f7c04edbf56295dd3371fe0e3 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Thu, 15 Apr 2021 16:25:30 +0300 Subject: [PATCH 2/3] added creation time and blog columns to blog post listing page --- .../Volo/CmsKit/Admin/Blogs/BlogPostDto.cs | 7 ++++- .../CmsKit/Admin/Blogs/BlogPostListDto.cs | 28 +++++++++++++++++++ .../Admin/Blogs/IBlogPostAdminAppService.cs | 1 + .../Admin/Blogs/BlogPostAdminAppService.cs | 20 +++++++++++-- .../Admin/Blogs/BlogPostAdminController.cs | 2 +- .../Pages/CmsKit/BlogPosts/index.js | 13 ++++++++- 6 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostListDto.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs index 20e573bac1..809fcf3c23 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs @@ -1,10 +1,11 @@ using System; using Volo.Abp.Application.Dtos; +using Volo.Abp.Auditing; namespace Volo.CmsKit.Admin.Blogs { [Serializable] - public class BlogPostDto : EntityDto + public class BlogPostDto : EntityDto, IHasCreationTime, IHasModificationTime { public Guid BlogId { get; set; } @@ -17,5 +18,9 @@ namespace Volo.CmsKit.Admin.Blogs public string Content { get; set; } public Guid? CoverImageMediaId { get; set; } + + public DateTime CreationTime { get; set; } + + public DateTime? LastModificationTime { get; set; } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostListDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostListDto.cs new file mode 100644 index 0000000000..d3e3b5126c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostListDto.cs @@ -0,0 +1,28 @@ +using System; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Auditing; + +namespace Volo.CmsKit.Admin.Blogs +{ + [Serializable] + public class BlogPostListDto : EntityDto, IHasCreationTime, IHasModificationTime + { + public Guid BlogId { get; set; } + + public string BlogName { get; set; } + + public string Title { get; set; } + + public string Slug { get; set; } + + public string ShortDescription { get; set; } + + public string Content { get; set; } + + public Guid? CoverImageMediaId { get; set; } + + public DateTime CreationTime { get; set; } + + public DateTime? LastModificationTime { get; set; } + } +} \ No newline at end of file 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 cb7364247d..32cfa36f32 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 @@ -6,6 +6,7 @@ namespace Volo.CmsKit.Admin.Blogs public interface IBlogPostAdminAppService : ICrudAppService< BlogPostDto, + BlogPostListDto, Guid, BlogPostGetListInput, CreateBlogPostDto, 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 670256b810..6660ea77aa 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 @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Authorization; using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.GlobalFeatures; @@ -83,15 +84,28 @@ namespace Volo.CmsKit.Admin.Blogs } [Authorize(CmsKitAdminPermissions.BlogPosts.Default)] - public virtual async Task> GetListAsync(BlogPostGetListInput input) + public virtual async Task> GetListAsync(BlogPostGetListInput input) { + var blogs = (await BlogRepository.GetListAsync()).ToDictionary(x => x.Id); + var blogPosts = await BlogPostRepository.GetListAsync(input.Filter, input.BlogId, input.MaxResultCount, input.SkipCount, input.Sorting); var count = await BlogPostRepository.GetCountAsync(input.Filter); - var dtoList = ObjectMapper.Map, List>(blogPosts); + var dtoList = blogPosts.Select(x => new BlogPostListDto { + Id = x.Id, + BlogId = x.BlogId, + BlogName = blogs[x.BlogId].Name, + Title = x.Title, + Slug = x.Slug, + ShortDescription = x.ShortDescription, + Content = x.Content, + CoverImageMediaId = x.CoverImageMediaId, + CreationTime = x.CreationTime, + LastModificationTime = x.LastModificationTime + }).ToList(); - return new PagedResultDto(count, dtoList); + return new PagedResultDto(count, dtoList); } [Authorize(CmsKitAdminPermissions.BlogPosts.Delete)] 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 72f16c5ef2..fffad5b86d 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 @@ -49,7 +49,7 @@ namespace Volo.CmsKit.Admin.Blogs [HttpGet] [Authorize(CmsKitAdminPermissions.BlogPosts.Default)] - public virtual Task> GetListAsync(BlogPostGetListInput input) + public virtual Task> GetListAsync(BlogPostGetListInput input) { return BlogPostAdminAppService.GetListAsync(input); } 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 25ac0a84af..8de20f2a2c 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 @@ -18,7 +18,7 @@ $(function () { scrollCollapse: true, scrollX: true, ordering: true, - order: [[1, "desc"]], + order: [[2, "desc"]], ajax: abp.libs.datatables.createAjax(blogsService.getList, getFilter), columnDefs: [ { @@ -50,6 +50,11 @@ $(function () { ] } }, + { + title: l("Blog"), + orderable: false, + data: "blogName" + }, { title: l("Title"), orderable: true, @@ -59,6 +64,12 @@ $(function () { title: l("Slug"), orderable: true, data: "slug" + }, + { + title: l("CreationTime"), + orderable: true, + data: 'creationTime', + dataFormat: "datetime" } ] })); From acb36d12ebaf0989440e85d4cecccf90532e5844 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Thu, 15 Apr 2021 20:08:24 +0300 Subject: [PATCH 3/3] add mappings --- .../Admin/Blogs/BlogPostAdminAppService.cs | 17 ++++++----------- .../CmsKitAdminApplicationAutoMapperProfile.cs | 2 ++ 2 files changed, 8 insertions(+), 11 deletions(-) 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 6660ea77aa..92db8e9902 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 @@ -92,17 +92,12 @@ namespace Volo.CmsKit.Admin.Blogs var count = await BlogPostRepository.GetCountAsync(input.Filter); - var dtoList = blogPosts.Select(x => new BlogPostListDto { - Id = x.Id, - BlogId = x.BlogId, - BlogName = blogs[x.BlogId].Name, - Title = x.Title, - Slug = x.Slug, - ShortDescription = x.ShortDescription, - Content = x.Content, - CoverImageMediaId = x.CoverImageMediaId, - CreationTime = x.CreationTime, - LastModificationTime = x.LastModificationTime + var dtoList = blogPosts.Select(x => + { + var dto = ObjectMapper.Map(x); + dto.BlogName = blogs[x.BlogId].Name; + + return dto; }).ToList(); return new PagedResultDto(count, dtoList); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs index 125c8f293c..748d3a1cfb 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs @@ -27,6 +27,8 @@ namespace Volo.CmsKit.Admin CreateMap(); CreateMap(MemberList.Destination); + CreateMap() + .Ignore(d => d.BlogName); CreateMap(MemberList.Source); CreateMap(MemberList.Source);