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 232ff579fa..7a5277cf7b 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
@@ -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;
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/Index.cshtml
index 8675499749..413cd4241c 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/Index.cshtml
+++ b/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;
}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/index.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/index.js
index 0f2d3cc3b9..23a84dee34 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Approve/index.js
+++ b/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 = $(``);
+ let rejectButton = $(``);
+ let buttons = [];
+ buttons.push(approveButton);
+ buttons.push(rejectButton);
+
+ let result = `
`;
+
+ buttons.forEach(x => {
+ if(x.data("status") !== data) {
+ result += x.get(0).outerHTML;
}
- ]
+ } );
+
+ result += `
`;
+ 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("");
+ $(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();
+ })
+ });
});
});
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 58923ca618..58c7d5f5f5 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
@@ -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 = '' + alertMessage + ' ' + ' ';
- $('#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()
}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitSettingDefinitionProvider.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitSettingDefinitionProvider.cs
new file mode 100644
index 0000000000..29f6272a9d
--- /dev/null
+++ b/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));
+ }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitSettings.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitSettings.cs
new file mode 100644
index 0000000000..6d2cc4e098
--- /dev/null
+++ b/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";
+ }
+}
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 3542886757..d45c3c207a 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
@@ -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."
}
}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettingDefinitionProvider.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettingDefinitionProvider.cs
index e50e3a0e3d..dd73a9218a 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettingDefinitionProvider.cs
+++ b/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.
+ */
}
-}
+}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettings.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettings.cs
index 78f1eb8b38..e3d5116ea5 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Settings/CmsKitSettings.cs
+++ b/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";
+ */
+}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs
index 5e4f9a8347..d0937eb04c 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs
+++ b/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;
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/default.js b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/default.js
index 0d4616fe51..23aa85a661 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/default.js
+++ b/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) {