diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/ICommentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/ICommentAdminAppService.cs index 1000374787..895cba751c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/ICommentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/ICommentAdminAppService.cs @@ -18,5 +18,8 @@ public interface ICommentAdminAppService : IApplicationService Task GetSettings(); Task GetPendingCommentCount(); + Task> GetWaitingCommentsWithRepliesAsync(CommentGetListInput input); + + } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs index 68aa7ac581..bce771b649 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs @@ -118,4 +118,41 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp return (int)(count == null ? 0 : count); } + + public async Task> GetWaitingCommentsWithRepliesAsync(CommentGetListInput input) + { + var totalCount = await CommentRepository.GetCountAsync( + input.Text, + input.EntityType, + input.RepliedCommentId, + input.Author, + input.CreationStartDate, + input.CreationEndDate, + "null" + ); + + + var comments = await CommentRepository.GetListAsync( + input.Text, + input.EntityType, + input.RepliedCommentId, + input.Author, + input.CreationStartDate, + input.CreationEndDate, + input.Sorting, + input.MaxResultCount, + input.SkipCount, + "null" + ); + + var dtos = comments.Select(queryResultItem => + { + var dto = ObjectMapper.Map(queryResultItem.Comment); + dto.Author = ObjectMapper.Map(queryResultItem.Author); + + return dto; + }).ToList(); + + return new PagedResultDto(totalCount, dtos); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs index c7e3d022e2..5258a62674 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs @@ -71,9 +71,17 @@ public class CommentAdminController : CmsKitAdminController, ICommentAdminAppSer return CommentAdminAppService.GetSettings(); } [HttpGet] - [Route("pending-count")] + [Route("waiting-count")] public Task GetPendingCommentCount() { return CommentAdminAppService.GetPendingCommentCount(); } + + [HttpGet] + [Route("waiting")] + + public Task> GetWaitingCommentsWithRepliesAsync(CommentGetListInput input) + { + return CommentAdminAppService.GetWaitingCommentsWithRepliesAsync(input); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Waiting/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Waiting/Index.cshtml index a320dcf99e..24c64a2210 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Waiting/Index.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Waiting/Index.cshtml @@ -27,12 +27,11 @@ - + } - + @@ -50,22 +49,15 @@ - + - + - - - + diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Waiting/index.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Waiting/index.js index 44f258072c..7b6eb22bae 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Waiting/index.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Waiting/index.js @@ -57,7 +57,7 @@ scrollX: true, searching: false, scrollCollapse: true, - ajax: abp.libs.datatables.createAjax(commentsService.getList, getFilter), + ajax: abp.libs.datatables.createAjax(commentsService.getWaitingCommentsWithReplies, getFilter), columnDefs: [ { width: "10%", @@ -173,28 +173,6 @@ data: "creationTime", orderable: true, dataFormat: "datetime" - }, - { - width: "5%", - title: l("Status"), - orderable: false, - - data: "isApproved", - render: function (data, type, row) { - var icons = '' - - if (data === null) { - icons = ''; - } else if (typeof data === "boolean") { - if (data) { - icons = ''; - } else { - icons = ''; - } - } - - return icons; - } } ] })); @@ -216,15 +194,4 @@ e.preventDefault(); _dataTable.ajax.reloadEx(); }); - // Get and display pending comment count - commentsService.getPendingCommentCount().then(function (count) { - console.log(count) - if (count > 0) { - var alertMessage = 'You have pending comments: ' + count; - var alertElement = '' + alertMessage + ''; - console.log(count) - $('#commentsAlert').html(alertElement); - $('#commentsAlert').show() - } - }); }); \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/index.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/index.js index f233bc1674..447e6f2e17 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/index.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/index.js @@ -222,9 +222,20 @@ $(function (){ if (count > 0) { var alertMessage = 'You have pending comments: ' + count; var alertElement = '' + alertMessage + ''; - console.log(count) $('#commentsAlert').html(alertElement); $('#commentsAlert').show() + $('#commentsAlert').click(function () { + window.location.href = '/Cms/Comments/Waiting' + }); } }); + + // + commentsService.getSettings().then(function (data) { + if (data.requireApprovement) { + $('#CommentsTable').DataTable().column(6).visible(true); + } else { + $('#CommentsTable').DataTable().column(6).visible(false); + } + }) }); \ No newline at end of file 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 43d9bf8111..15271077a5 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 @@ -223,7 +223,14 @@ volo.cmsKit.admin.comments.commentAdmin.getPendingCommentCount = function(ajaxParams) { return abp.ajax($.extend(true, { - url: abp.appPath + 'api/cms-kit-admin/comments/pending-count', + url: abp.appPath + 'api/cms-kit-admin/comments/waiting-count', + type: 'GET' + }, ajaxParams)); + }; + + volo.cmsKit.admin.comments.commentAdmin.getWaitingCommentsWithReplies = function(input, ajaxParams) { + return abp.ajax($.extend(true, { + url: abp.appPath + 'api/cms-kit-admin/comments/waiting' + abp.utils.buildQueryString([{ name: 'entityType', value: input.entityType }, { name: 'text', value: input.text }, { name: 'repliedCommentId', value: input.repliedCommentId }, { name: 'author', value: input.author }, { name: 'creationStartDate', value: input.creationStartDate }, { name: 'creationEndDate', value: input.creationEndDate }, { name: 'isApproved', value: input.isApproved }, { name: 'sorting', value: input.sorting }, { name: 'skipCount', value: input.skipCount }, { name: 'maxResultCount', value: input.maxResultCount }]) + '', type: 'GET' }, ajaxParams)); };