Browse Source

refactor

pull/19919/head
Berkan Sasmaz 2 years ago
parent
commit
115c6e6e77
  1. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs
  2. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/Index.cshtml
  3. 76
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/index.js
  4. 13
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/index.js
  5. 11
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitSettingDefinitionProvider.cs
  6. 12
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitSettings.cs
  7. 5
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json
  8. 8
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettingDefinitionProvider.cs
  9. 16
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettings.cs
  10. 1
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs
  11. 3
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/default.js

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

@ -10,7 +10,6 @@ using Volo.CmsKit.Comments;
using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
using Volo.CmsKit.Settings;
using Volo.CmsKit.Users;
namespace Volo.CmsKit.Admin.Comments;

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

@ -13,7 +13,7 @@
@model IndexModel
@{
PageLayout.Content.Title = L["Comments"].Value;
PageLayout.Content.Title = L["CommentsAwaitingApproval"].Value;
PageLayout.Content.BreadCrumb.Add(L["Menu:CMS"].Value);
PageLayout.Content.MenuItemName = CmsKitAdminMenus.Comments.CommentsMenu;
}

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

@ -55,43 +55,26 @@
title: l("Actions"),
targets: 0,
orderable: false,
rowAction: {
items: [
{
text: function (data) {
return l('Approve');
},
action: function (data) {
var newApprovalStatus = true;
commentsService
.updateApprovalStatus(data.record.id, {IsApproved: newApprovalStatus})
.then(function () {
_dataTable.ajax.reloadEx();
var message = newApprovalStatus ? l('ApprovedSuccessfully') : l('ApprovalRevokedSuccessfully');
abp.notify.success(message);
})
}
},
{
text: function (data) {
return l('Disapproved');
},
action: function (data) {
var newApprovalStatus = false;
commentsService
.updateApprovalStatus(data.record.id, {IsApproved: newApprovalStatus})
.then(function () {
_dataTable.ajax.reloadEx();
var message = newApprovalStatus ? l('ApprovedSuccessfully') : l('ApprovalRevokedSuccessfully');
abp.notify.success(message);
})
}
visible: abp.auth.isGranted('CmsKit.Comments.Update'),
render: function (data, type, row) {
let approveButton = $(`<button class="btn btn-xs btn-success change-status" data-id="${row.id}" data-status="true" data-toggle="tooltip" data-placement="top" title="${l('Approve')}"><i class="fa fa-check"></i></button>`);
let rejectButton = $(`<button class="btn btn-xs btn-danger change-status" data-id="${row.id}" data-status="false" data-toggle="tooltip" data-placement="top" title="${l('Disapproved')}"><i class="fa fa-times"></i></button>`);
let buttons = [];
buttons.push(approveButton);
buttons.push(rejectButton);
let result = `<div class="btn-group">`;
buttons.forEach(x => {
if(x.data("status") !== data) {
result += x.get(0).outerHTML;
}
]
} );
result += `</div>`;
return result;
}
},
},
{
width: "10%",
title: l("Username"),
@ -152,11 +135,30 @@
$(inputSelector).val(value);
_dataTable.ajax.reloadEx();
_dataTable.ajax.reload();
});
filterForm.submit(function (e) {
e.preventDefault();
_dataTable.ajax.reloadEx();
_dataTable.ajax.reload();
});
_dataTable.on('draw.dt', function () {
var changeStatusButton = $(".change-status");
changeStatusButton.click(function () {
$(this).html("<i class='fa fa-spinner fa-spin'></i>");
$(this).prop("disabled", true);
let id = $(this).data("id");
let isApproved = $(this).data("status");
commentsService
.updateApprovalStatus(id, {IsApproved: isApproved})
.then(function (data) {
var message = isApproved ? l('ApprovedSuccessfully') : l('ApprovalRevokedSuccessfully');
abp.notify.success(message);
_dataTable.ajax.reload();
})
});
});
});

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

@ -73,7 +73,7 @@ $(function () {
{
text: l('Details'),
action: function (data) {
location.href = 'Comments/' + data.record.id;
location.href = data.record.id;
}
},
{
@ -131,7 +131,7 @@ $(function () {
})
},
visible: function (data) {
return commentRequireApprovement;
return commentRequireApprovement && data.isApproved == null;
}
}
]
@ -205,7 +205,6 @@ $(function () {
width: "5%",
title: l("ApproveState"),
orderable: false,
data: "isApproved",
render: function (data, type, row) {
var icons = ''
@ -249,10 +248,14 @@ $(function () {
if (count > 0) {
var alertMessage = l("CommentAlertMessage", count);
var alertElement = '<abp-alert alert-type="Warning">' + alertMessage + ' ' + ' <i class="fa-solid fa-arrow-up-right-from-square"></i> </abp-alert>';
$('#CommentsWaitingAlert').html(alertElement);
$('#CommentsWaitingAlert').click(function () {
var commentAlert = $('#CommentsWaitingAlert');
commentAlert.html(alertElement);
commentAlert.click(function () {
window.location.href = '/Cms/Comments/Approve'
});
commentAlert.css('cursor', 'pointer');
} else {
$('#CommentsWaitingAlert').hide()
}

11
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitSettingDefinitionProvider.cs

@ -0,0 +1,11 @@
using Volo.Abp.Settings;
namespace Volo.CmsKit;
public class CmsKitSettingDefinitionProvider : SettingDefinitionProvider
{
public override void Define(ISettingDefinitionContext context)
{
context.Add(new SettingDefinition(CmsKitSettings.Comments.RequireApprovement, "false", null, null, true));
}
}

12
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitSettings.cs

@ -0,0 +1,12 @@
namespace Volo.CmsKit;
public static class CmsKitSettings
{
private const string GroupName = "CmsKit";
public static class Comments
{
private const string Default = GroupName + ".Comments";
public const string RequireApprovement = Default + ".RequireApprovement";
}
}

5
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json

@ -243,6 +243,9 @@
"Approve":"Approve",
"Disapproved":"Disapproved",
"CommentAlertMessage":"There are {0} comments waiting for approval",
"Settings:Menu:CmsKit":"CMS"
"Settings:Menu:CmsKit":"CMS",
"CommentsAwaitingApproval":"Comments Awaiting Approval",
"CommentSubmitted": "Your comment has been submitted.",
"CommentSubmittedForApproval": "Your comment has been submitted for approval."
}
}

8
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettingDefinitionProvider.cs

@ -1,4 +1,4 @@
using Volo.Abp.Settings;
using Volo.Abp.Settings;
namespace Volo.CmsKit.Settings;
@ -6,6 +6,8 @@ public class CmsKitSettingDefinitionProvider : SettingDefinitionProvider
{
public override void Define(ISettingDefinitionContext context)
{
context.Add(new SettingDefinition(CmsKitSettings.Comments.RequireApprovement, "false"));
/* Define module settings here.
* Use names from CmsKitSettings class.
*/
}
}
}

16
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettings.cs

@ -1,12 +1,10 @@
namespace Volo.CmsKit.Settings;
namespace Volo.CmsKit.Settings;
public static class CmsKitSettings
{
private const string GroupName = "CmsKit";
public static class Comments
{
private const string Default = GroupName + ".Comments";
public const string RequireApprovement = Default + ".RequireApprovement";
}
}
public const string GroupName = "CmsKit";
/* Add constants for setting names. Example:
* public const string MySettingName = GroupName + ".MySettingName";
*/
}

1
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs

@ -18,7 +18,6 @@ using Volo.CmsKit.Comments;
using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
using Volo.CmsKit.Settings;
using Volo.CmsKit.Users;
namespace Volo.CmsKit.Public.Comments;

3
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/default.js

@ -178,6 +178,9 @@
}),
success: function () {
widgetManager.refresh($widget);
if (abp.setting.getBoolean("CmsKit.Comments.RequireApprovement")) {
abp.message.success(l("CommentSubmittedForApproval"), l("CommentSubmitted"));
}
abp.ui.clearBusy();
},
error: function (data) {

Loading…
Cancel
Save