diff --git a/plone/app/discussion/browser/comments.pt b/plone/app/discussion/browser/comments.pt index c1551ad..5a508ed 100644 --- a/plone/app/discussion/browser/comments.pt +++ b/plone/app/discussion/browser/comments.pt @@ -3,6 +3,7 @@ i18n:domain="plone">
+
+ + + +
diff --git a/plone/app/discussion/browser/comments.py b/plone/app/discussion/browser/comments.py index eff5eb3..09cf544 100644 --- a/plone/app/discussion/browser/comments.py +++ b/plone/app/discussion/browser/comments.py @@ -8,8 +8,7 @@ from Acquisition import aq_inner, aq_parent from Products.Five.browser import BrowserView from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile -from plone.app.discussion.interfaces import IComment - +from plone.app.discussion.interfaces import IComment, IReplies from plone.app.discussion.conversation import conversationAdapterFactory from plone.app.discussion.comment import CommentFactory @@ -66,5 +65,36 @@ class AddComment(BrowserView): # Add comment to the conversation conversation.addComment(comment) + # Redirect to the document object page + self.request.response.redirect(aq_parent(aq_inner(self.context)).absolute_url()) + +class ReplyToComment(BrowserView): + """Reply to a comment + """ + + def __call__(self): + + if self.request.has_key('form.button.AddComment'): + + reply_to_comment_id = self.request.get('form.reply_to_comment_id') + subject = self.request.get('subject') + text = self.request.get('body_text') + + # The add-comment view is called on the conversation object + conversation = self.context + + # Fetch the comment we want to reply to + comment_to_reply_to = conversation.get(reply_to_comment_id) + + replies = IReplies(comment_to_reply_to) + + # Create the comment + comment = CommentFactory() + comment.title = subject + comment.text = text + + # Add the reply to the comment + new_re_id = replies.addComment(comment) + # TODO: Redirect to the document object page self.request.response.redirect(aq_parent(aq_inner(self.context)).absolute_url()) diff --git a/plone/app/discussion/browser/configure.zcml b/plone/app/discussion/browser/configure.zcml index 62c46be..dee97f5 100644 --- a/plone/app/discussion/browser/configure.zcml +++ b/plone/app/discussion/browser/configure.zcml @@ -27,4 +27,27 @@ permission="zope2.View" /> + + + + + + + + +