diff --git a/plone/app/discussion/browser/controlpanel.py b/plone/app/discussion/browser/controlpanel.py
index 73086e1..e968367 100644
--- a/plone/app/discussion/browser/controlpanel.py
+++ b/plone/app/discussion/browser/controlpanel.py
@@ -184,11 +184,8 @@ class DiscussionSettingsControlPanel(controlpanel.ControlPanelFormWrapper):
'comment_one_state_workflow' in workflow_chain
comment_review_workflow_enabled = \
'comment_review_workflow' in workflow_chain
- comment_multiple_state_review_workflow = \
- 'comment_multiple_state_review_workflow' in workflow_chain
if one_state_workflow_enabled \
- or comment_review_workflow_enabled \
- or comment_multiple_state_review_workflow:
+ or comment_review_workflow_enabled:
return
return True
diff --git a/plone/app/discussion/browser/javascripts/moderation.js b/plone/app/discussion/browser/javascripts/moderation.js
index 1016fda..5275b45 100644
--- a/plone/app/discussion/browser/javascripts/moderation.js
+++ b/plone/app/discussion/browser/javascripts/moderation.js
@@ -80,124 +80,60 @@ require(["jquery", "pat-registry"], function($, registry) {
success: function(msg) {
if (moderate) {
let url = location.href;
- $("#review-comments").load(url + " #review-comments", function() {
- init();
- $(".pat-plone-modal").patPloneModal();
- });
- });
-
-
- /**********************************************************************
- * Bulk actions for comments (delete, publish)
- **********************************************************************/
- $("input[name='form.button.BulkAction']").click(function (e) {
- e.preventDefault();
- var form = $(this).closest("form");
- var target = $(form).attr('action');
- var params = $(form).serialize();
- var valArray = $('input:checkbox:checked');
- var selectField = $(form).find("[name='form.select.BulkAction']");
-
- if (selectField.val() === '-1') {
- // TODO: translate message
- alert("You haven't selected a bulk action. Please select one.");
- } else if (valArray.length === 0) {
- // TODO: translate message
- alert("You haven't selected any comment for this bulk action." +
- "Please select at least one comment.");
- } else {
- $.post(target, params, function (data) {
- // reset the bulkaction select
- selectField.find("option[value='-1']").attr('selected', 'selected');
- // reload filtered comments
- $("#review-comments").load(window.location + " #review-comments", function() {
- init();
- $('.pat-plone-modal').patPloneModal();
- });
- });
- }
- });
-
-
- /**********************************************************************
- * Check or uncheck all checkboxes from the batch moderation page.
- **********************************************************************/
- $("input[name='check_all']").click(function () {
- if ($(this).val() === '0') {
- $(this).parents("table")
- .find("input:checkbox")
- .prop("checked", true);
- $(this).val("1");
- } else {
- $(this).parents("table")
- .find("input:checkbox")
- .prop("checked", false);
- $(this).val("0");
- }
- });
-
- /**********************************************************************
- * select comments with review_state
- **********************************************************************/
-
- $("input[name='review_state']").click(function () {
- // location.search = 'review_state=' + $(this).val();
- let review_state = $(this).val();
- let url = location.href;
- if (location.search) {
- url = location.href.replace(location.search, "?review_state=" + review_state);
- } else {
- url = location.href + "?review_state=" + review_state;
- }
-
- $("#fieldset-moderate-comments").parent()
- .load(url + " #fieldset-moderate-comments", function() {
- init();
- $('.pat-plone-modal').patPloneModal();
- let stateObj = { review_state: review_state };
- history.pushState(stateObj, "moderate comments", url);
- });
- });
-
+ $("#review-comments").load(
+ url + " #review-comments > *",
+ function() {
+ init();
+ $(".pat-plone-modal").patPloneModal();
+ }
+ );
+ } else {
+ location.reload();
+ }
+ },
+ error: function(msg) {
+ alert(
+ "Error transmitting comment. (Error sending AJAX request:" +
+ target +
+ ")"
+ );
+ }
+ });
+ });
/**********************************************************************
* Bulk actions for comments (delete, publish)
**********************************************************************/
$("input[name='form.button.BulkAction']").click(function(e) {
e.preventDefault();
- var form = $(this).parents("form");
+ var form = $(this).closest("form");
var target = $(form).attr("action");
var params = $(form).serialize();
var valArray = $("input:checkbox:checked");
var selectField = $(form).find("[name='form.select.BulkAction']");
+
if (selectField.val() === "-1") {
- // XXX: translate message
+ // TODO: translate message
alert("You haven't selected a bulk action. Please select one.");
} else if (valArray.length === 0) {
- // XXX: translate message
+ // TODO: translate message
alert(
"You haven't selected any comment for this bulk action." +
"Please select at least one comment."
);
} else {
$.post(target, params, function(data) {
- valArray.each(function() {
- /* Remove all selected lines. */
- var row = $(this)
- .parent()
- .parent();
- row.fadeOut("normal", function() {
- row.remove();
- });
- });
- // reload page if all comments have been removed
- var comments = $("table#review-comments > tbody > tr");
- if (comments.length <= valArray.length) {
- location.reload();
- }
+ // reset the bulkaction select
+ selectField.find("option[value='-1']").attr("selected", "selected");
+ // reload filtered comments
+ $("#review-comments").load(
+ window.location + " #review-comments",
+ function() {
+ init();
+ $(".pat-plone-modal").patPloneModal();
+ }
+ );
});
- // reset the bulkaction select
- selectField.find("option[value='-1']").attr("selected", "selected");
}
});
@@ -220,31 +156,30 @@ require(["jquery", "pat-registry"], function($, registry) {
}
});
- /**********************************************************************
- * Comments published: Load history for publishing date.
- **********************************************************************/
- $(".last-history-entry").each(function() {
- var lasthistoryentry = $(this);
- $.ajax({
- url: lasthistoryentry.attr("data-href"),
- success: function (data) {
- lasthistoryentry.html($(data).find(".historyByLine").first());
- // format date
- registry.scan(lasthistoryentry);
- },
- error: function (msg) {
- console.error("Error getting history.");
- }
- });
- });
- }; // end init
+ /**********************************************************************
+ * select comments with review_state
+ **********************************************************************/
- $("#review-comments").load(url + " #review-comments", function() {
- init();
- $(".pat-plone-modal").patPloneModal();
- let stateObj = { review_state: review_state };
- history.pushState(stateObj, "moderate comments", url);
- });
+ $("input[name='review_state']").click(function() {
+ let review_state = $(this).val();
+ let url = location.href;
+ if (location.search) {
+ url = location.href.replace(
+ location.search,
+ "?review_state=" + review_state
+ );
+ } else {
+ url = location.href + "?review_state=" + review_state;
+ }
+
+ $("#fieldset-moderate-comments")
+ .parent()
+ .load(url + " #fieldset-moderate-comments", function() {
+ init();
+ $(".pat-plone-modal").patPloneModal();
+ let stateObj = { review_state: review_state };
+ history.pushState(stateObj, "moderate comments", url);
+ });
});
/**********************************************************************
@@ -269,26 +204,23 @@ require(["jquery", "pat-registry"], function($, registry) {
});
/**********************************************************************
- * Comments approved: Load history for approved date.
+ * Comments published: Load history for publishing date.
**********************************************************************/
$(".last-history-entry").each(function() {
- var me = $(this);
+ var lasthistoryentry = $(this);
$.ajax({
- url: me.attr("data-href"),
+ url: lasthistoryentry.attr("data-href"),
success: function(data) {
- let first_history_entry = $(data)
- .find(".historyByLine")
- .first();
- me.html("");
- first_history_entry.children().each(function() {
- me.append($(this));
- me.append("
");
- });
+ lasthistoryentry.html(
+ $(data)
+ .find(".historyByLine")
+ .first()
+ );
// format date
- registry.scan(me);
+ registry.scan(lasthistoryentry);
},
error: function(msg) {
- alert("Error getting history.");
+ console.error("Error getting history.");
}
});
});
diff --git a/plone/app/discussion/browser/moderation.pt b/plone/app/discussion/browser/moderation.pt
index df6d455..bb7d715 100644
--- a/plone/app/discussion/browser/moderation.pt
+++ b/plone/app/discussion/browser/moderation.pt
@@ -46,21 +46,12 @@
-
-