Browse Source

code review was done

pull/19919/head
EmreKendirli 2 years ago
parent
commit
45738c9aa3
  1. 4
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentApprovalDto.cs
  2. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentDto.cs
  3. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentSettingsDto.cs
  4. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentWithAuthorDto.cs
  5. 5
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/ICommentAdminAppService.cs
  6. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs
  7. 21
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs
  8. 4
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/Index.cshtml
  9. 17
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/PrismjsScriptBundleContributorDocsExtension.cs
  10. 8
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/index.js
  11. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Details.cshtml.cs
  12. 5
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/details.js
  13. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Shared/Components/Comments/CommentSettingPageContributor.cs
  14. 1
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/Comment.cs
  15. 37
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Comments/MongoCommentRepository.cs

4
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentApprovalDto.cs

@ -3,7 +3,9 @@ using System.Collections.Generic;
using System.Text;
namespace Volo.CmsKit.Admin.Comments;
[Serializable]
public class CommentApprovalDto
{
public bool IsApproved { get; set; }
public bool IsApproved { get; set; }
}

1
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentDto.cs

@ -19,6 +19,7 @@ public class CommentDto : ExtensibleObject
public Guid CreatorId { get; set; }
public DateTime CreationTime { get; set; }
public bool? IsApproved { get; set; }
}

2
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentSettingsDto.cs

@ -3,6 +3,8 @@ using System.Collections.Generic;
using System.Text;
namespace Volo.CmsKit.Admin.Comments;
[Serializable]
public class SettingsDto
{
public bool RequireApprovement { get; set; }

1
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentWithAuthorDto.cs

@ -23,6 +23,7 @@ public class CommentWithAuthorDto : ExtensibleObject
public CmsUserDto Author { get; set; }
public string Url { get; set; }
public bool? IsApproved { get; set; }
}

5
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/ICommentAdminAppService.cs

@ -12,14 +12,15 @@ public interface ICommentAdminAppService : IApplicationService
Task<CommentWithAuthorDto> GetAsync(Guid id);
Task DeleteAsync(Guid id);
Task UpdateApprovalStatusAsync(Guid id, CommentApprovalDto commentApprovalDto);
Task SetSettings(SettingsDto settingsDto);
Task<SettingsDto> GetSettings();
Task<int> GetWaitingCommentCount();
Task<PagedResultDto<CommentWithAuthorDto>> GetWaitingCommentsWithRepliesAsync(CommentGetListInput input);
}

2
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs

@ -128,7 +128,7 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp
input.Author,
input.CreationStartDate,
input.CreationEndDate,
CommentApproveStateType.Waiting
CommentApproveStateType.Waiting
);

21
modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs

@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.PageToolbars;
using Volo.Abp.AutoMapper;
using Volo.Abp.Http.ProxyScripting.Generators.JQuery;
@ -16,6 +17,7 @@ using Volo.Abp.UI.Navigation;
using Volo.Abp.VirtualFileSystem;
using Volo.CmsKit.Admin.MediaDescriptors;
using Volo.CmsKit.Admin.Web.Menus;
using Volo.CmsKit.Admin.Web.Pages.CmsKit.Comments.Approve;
using Volo.CmsKit.Admin.Web.Pages.CmsKit.Shared.Components.Comments;
using Volo.CmsKit.Localization;
using Volo.CmsKit.Permissions;
@ -58,7 +60,7 @@ public class CmsKitAdminWebModule : AbpModule
Configure<AbpBundlingOptions>(options =>
{
options.ScriptBundles
.Configure(typeof(IndexModel).FullName,
.Configure(typeof(Abp.SettingManagement.Web.Pages.SettingManagement.IndexModel).FullName,
configuration =>
{
configuration.AddFiles("/client-proxies/cms-kit-admin-proxy.js");
@ -175,8 +177,23 @@ public class CmsKitAdminWebModule : AbpModule
requiredPolicyName: CmsKitAdminPermissions.Menus.Update
);
});
});
});
//Configure<AbpBundleContributorOptions>(options =>
//{
// options
// .Extensions<PrismjsScriptBundleContributor>()
// .Add<PrismjsScriptBundleContributorDocsExtension>();
//});
Configure<AbpBundlingOptions>(options =>
{
options.ScriptBundles.Configure(
"Volo.Abp.AspNetCore.Mvc.UI.Packages.MarkdownIt.MarkdownItScriptContributor",
bundle =>
{
bundle.AddFiles("/libs/markdown-it/markdown-it.min.js");
});
});
Configure<DynamicJavaScriptProxyOptions>(options =>
{
options.DisableModule(CmsKitAdminRemoteServiceConsts.ModuleName);

4
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/Index.cshtml

@ -5,6 +5,7 @@
@using Volo.CmsKit.Admin.Web.Pages.CmsKit.Comments
@using Volo.CmsKit.Admin.Web.Menus
@using Volo.CmsKit.Localization
@using Volo.Abp.AspNetCore.Mvc.UI.Packages.MarkdownIt
@inject IPageLayout PageLayout
@inject IHtmlLocalizer<CmsKitResource> L
@ -29,7 +30,8 @@
<abp-script src="/client-proxies/cms-kit-admin-proxy.js" />
<abp-script src="/Pages/CmsKit/Comments/Approve/index.js" />
</abp-script-bundle>
<script src="https://cdnjs.cloudflare.com/ajax/libs/showdown/1.9.1/showdown.min.js"></script>
<abp-script type="typeof(MarkdownItScriptContributor)" />
@* <script src="https://cdnjs.cloudflare.com/ajax/libs/showdown/1.9.1/showdown.min.js"></script> *@
}

17
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/PrismjsScriptBundleContributorDocsExtension.cs

@ -0,0 +1,17 @@
using System.Collections.Generic;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.Comments.Approve;
public class PrismjsScriptBundleContributorDocsExtension : BundleContributor
{
public override void ConfigureBundle(BundleConfigurationContext context)
{
//AddPlugins(context);
context.Files.Add("~/libs/markdown-it/markdown-it.min.js");
}
//private static void AddPlugins(IBundleConfigurationContext context)
//{
// context.Files.AddIfNotContains("/libs/markdown-it/markdown-it.min.js");
//}
}

8
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/index.js

@ -136,10 +136,14 @@
title: l("Text"),
data: "text",
orderable: false,
render: function (data) {
var converter = new showdown.Converter();
var htmlContent = converter.makeHtml(data);
//var converter = new showdown.Converter();
//var htmlContent = converter.makeHtml(data);
var md = window.markdownit();
var htmlContent = md.render(data);
return (htmlContent);
}
},

3
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Details.cshtml.cs

@ -16,9 +16,8 @@ public class DetailsModel : CmsKitAdminPageModel
public DateTime? CreationStartDate { get; set; }
public DateTime? CreationEndDate { get; set; }
public CommentApproveStateType commentApproveStateType { get; set; }
//public string IsApproved { get; set; }
public CommentApproveStateType commentApproveStateType { get; set; }
public CommentWithAuthorDto CommentWithAuthorDto { get; protected set; }

5
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/details.js

@ -32,10 +32,7 @@ $(function (){
});
var filterForm = $('#CmsKitCommentsFilterForm');
$('.singledatepicker').on('apply.daterangepicker', function (ev, picker) {
$(this).val(picker.startDate.format('l'));
$(this).data('date', picker.startDate.locale('en').format('YYYY-MM-DD'));
});
var getFilter = function () {
var filterObj = filterForm.serializeFormToObject();

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Shared/Components/Comments/CommentSettingPageContributor.cs

@ -26,7 +26,6 @@ public class CommentSettingPageContributor : ISettingPageContributor
public Task<bool> CheckPermissionsAsync(SettingPageCreationContext context)
{
// You can check the permissions here
return Task.FromResult(true);
}
}

1
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/Comment.cs

@ -26,6 +26,7 @@ public class Comment : AggregateRoot<Guid>, IHasCreationTime, IMustHaveCreator,
public virtual string Url { get; set; }
public virtual string IdempotencyToken { get; set; }
public virtual bool? IsApproved { get; set; }
protected Comment()

37
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Comments/MongoCommentRepository.cs

@ -1,4 +1,5 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
@ -131,8 +132,12 @@ public class MongoCommentRepository : MongoDbRepository<ICmsKitMongoDbContext, C
var commentsQuery = (await GetMongoQueryableAsync(cancellationToken))
.Where(c => c.EntityId == entityId && c.EntityType == entityType);
commentsQuery = (IMongoQueryable<Comment>)FilterCommentsByApprovalState(commentsQuery, commentApproveStateType);
commentsQuery = commentApproveStateType switch
{
CommentApproveStateType.Approved => commentsQuery.Where(c => c.IsApproved == true),
CommentApproveStateType.Disapproved => commentsQuery.Where(c => c.IsApproved == true || c.IsApproved == null),
_ => commentsQuery
};
var comments = await commentsQuery
.OrderBy(c => c.CreationTime)
@ -207,18 +212,18 @@ public class MongoCommentRepository : MongoDbRepository<ICmsKitMongoDbContext, C
.WhereIf(CommentApproveStateType.Disapproved == commentApproveStateType, c => c.IsApproved == false)
.WhereIf(CommentApproveStateType.Waiting == commentApproveStateType, c => c.IsApproved == null);
}
public IQueryable<Comment> FilterCommentsByApprovalState(IQueryable<Comment> commentsQuery, CommentApproveStateType approveState)
{
switch (approveState)
{
case CommentApproveStateType.Approved:
commentsQuery = commentsQuery.Where(c => c.IsApproved == true);
break;
case CommentApproveStateType.Disapproved:
commentsQuery = commentsQuery.Where(c => c.IsApproved == true || c.IsApproved == null);
break;
}
return commentsQuery;
}
//public IQueryable<Comment> FilterCommentsByApprovalState(IQueryable<Comment> commentsQuery, CommentApproveStateType approveState)
//{
// switch (approveState)
// {
// case CommentApproveStateType.Approved:
// commentsQuery = commentsQuery.Where(c => c.IsApproved == true);
// break;
// case CommentApproveStateType.Disapproved:
// commentsQuery = commentsQuery.Where(c => c.IsApproved == true || c.IsApproved == null);
// break;
// }
// return commentsQuery;
//}
}

Loading…
Cancel
Save