From bed1b420ba7cdd1bb8400287295218512653b3d3 Mon Sep 17 00:00:00 2001 From: Timo Stollenwerk Date: Tue, 7 Jul 2009 08:00:41 +0000 Subject: [PATCH] fix publish comment. remove ajax functions for now. svn path=/plone.app.discussion/trunk/; revision=27864 --- .../browser/javascripts/comments.js | 8 +- .../javascripts/reply_to_comment_form.js | 126 ------------------ plone/app/discussion/browser/moderation.py | 16 +++ 3 files changed, 23 insertions(+), 127 deletions(-) delete mode 100644 plone/app/discussion/browser/javascripts/reply_to_comment_form.js diff --git a/plone/app/discussion/browser/javascripts/comments.js b/plone/app/discussion/browser/javascripts/comments.js index 091ae6e..435cb0b 100644 --- a/plone/app/discussion/browser/javascripts/comments.js +++ b/plone/app/discussion/browser/javascripts/comments.js @@ -80,11 +80,14 @@ jq(document).ready(function() { /***************************************************************** * Remove comment. *****************************************************************/ + /* jq("input[name='form.button.DeleteComment']").click(function(e){ e.preventDefault(); var form = jq(this).parent(); var target = jq(form).attr("action"); - var comment = jq(form).parent() + var comment = jq(form).parent(); + var reply_comments = jq(comment).find("~ .comment:not(.replyTreeLevel0 ~ div)"); + reply_comments.css("background", "red"); jq.ajax({ type: "GET", url: target, @@ -99,10 +102,12 @@ jq(document).ready(function() { }, }); }); + */ /***************************************************************** * Publish comment. *****************************************************************/ + /* jq("input[name='form.button.PublishComment']").click(function(e){ e.preventDefault(); var button = jq(this); @@ -123,4 +128,5 @@ jq(document).ready(function() { }, }); }); + */ }); \ No newline at end of file diff --git a/plone/app/discussion/browser/javascripts/reply_to_comment_form.js b/plone/app/discussion/browser/javascripts/reply_to_comment_form.js deleted file mode 100644 index 091ae6e..0000000 --- a/plone/app/discussion/browser/javascripts/reply_to_comment_form.js +++ /dev/null @@ -1,126 +0,0 @@ -jq(document).ready(function() { - - /***************************************************************** - * Show the reply button only when Javascript is enabled. - * Otherwise hide it, since the reply functions relies on jQuery. - *****************************************************************/ - jq(".reply-to-comment-button").css("display" , "inline"); - - - /***************************************************************** - * Create reply to comment form. - *****************************************************************/ - jq(".reply-to-comment-button").bind("click", function(e){ - - var comment_div = jq(this).parents().filter(".comment"); - var comment_id = comment_div.attr("id"); - - var reply_button = comment_div.find(".reply-to-comment-button"); - - /* Clone the reply div at the end of the page template that contains - * the regular comment form and insert it after the reply button of the - * current comment. - */ - var reply_div = jq("#commenting").clone(true); - reply_div.appendTo(comment_div).css("display", "none"); - - /* Remove id="reply" attribute, since we use it to uniquely - the main reply form. */ - reply_div.removeAttr("id") - - /* Hide the reply button (only hide, because we may want to show it - * again if the user hits the cancel button). - */ - jq(reply_button).css("display", "none"); - - /* Fetch the reply form inside the reply div */ - var reply_form = reply_div.find("form"); - - /* Add a hidden field with the id of the comment */ - reply_form.append(""); - - /* Change the form action to @@reply-to-comment */ - var old_action = reply_form.attr("action"); - var new_action = old_action.replace("@@add-comment", "@@reply-to-comment"); - reply_form.attr("action", new_action); - - /* Add a remove-reply-to-comment Javascript function to remove the form */ - var cancel_reply_button = reply_div.find(".cancelreplytocomment"); - cancel_reply_button.attr("id", comment_id); - - /* Remove already typed in text from the reply form. */ - reply_form.find(".field").find("input").attr("value", "") - reply_form.find(".field").find("textarea").attr("value", "") - - /* Show the reply layer with a slide down effect */ - reply_div.slideDown("slow"); - - /* Show the cancel button in the reply-to-comment form */ - cancel_reply_button.css("display", "inline"); - - }); - - - /***************************************************************** - * Remove reply to comment form. - *****************************************************************/ - jq(".cancelreplytocomment").bind("click", function(e){ - - reply_to_comment_button = jq(this).parents().filter(".comment").find(".reply-to-comment-button"); - - /* Find the reply-to-comment form and hide and remove it again. */ - reply_to_comment_form = jq(this).parents().filter(".reply") - reply_to_comment_form.slideUp("slow", function() { jq(this).remove(); } ); - - /* Show the reply-to-comment button again. */ - reply_to_comment_button.css("display", "inline"); - - }); - - /***************************************************************** - * Remove comment. - *****************************************************************/ - jq("input[name='form.button.DeleteComment']").click(function(e){ - e.preventDefault(); - var form = jq(this).parent(); - var target = jq(form).attr("action"); - var comment = jq(form).parent() - jq.ajax({ - type: "GET", - url: target, - success: function(msg){ - // fade out row - jq(comment).fadeOut("normal", function(){ - jq(this).remove(); - }); - }, - error: function(msg){ - alert("Error sending AJAX request:" + target); - }, - }); - }); - - /***************************************************************** - * Publish comment. - *****************************************************************/ - jq("input[name='form.button.PublishComment']").click(function(e){ - e.preventDefault(); - var button = jq(this); - var form = jq(this).parent(); - var target = jq(form).attr("action"); - var comment = jq(form).parent() - jq.ajax({ - type: "GET", - url: target, - success: function(msg){ - // fade out row - jq(button).fadeOut("normal", function(){ - jq(form).remove(); - }); - }, - error: function(msg){ - alert("Error sending AJAX request:" + target); - }, - }); - }); - }); \ No newline at end of file diff --git a/plone/app/discussion/browser/moderation.py b/plone/app/discussion/browser/moderation.py index 5461826..3168c25 100644 --- a/plone/app/discussion/browser/moderation.py +++ b/plone/app/discussion/browser/moderation.py @@ -5,6 +5,10 @@ from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile from Products.CMFCore.utils import getToolByName +from Products.CMFPlone import PloneMessageFactory as _ + +from Products.statusmessages.interfaces import IStatusMessage + class View(BrowserView): """Moderation View """ @@ -96,6 +100,12 @@ class DeleteComment(BrowserView): del conversation[comment_id] + IStatusMessage(self.context.REQUEST).addStatusMessage( + _("Comment deleted."), + type="info") + + return self.context.REQUEST.RESPONSE.redirect(self.context.REQUEST.HTTP_REFERER) + class PublishComment(BrowserView): """Publish a comment """ @@ -113,6 +123,12 @@ class PublishComment(BrowserView): catalog = getToolByName(comment, 'portal_catalog') catalog.reindexObject(comment) + IStatusMessage(self.context.REQUEST).addStatusMessage( + _("Comment published."), + type="info") + + return self.context.REQUEST.RESPONSE.redirect(self.context.REQUEST.HTTP_REFERER) + class BulkActionsView(BrowserView): """Bulk actions (unapprove, approve, delete, mark as spam). """