from commentary.sitepage import * from commentary import filter class edit_comment(SitePage): def setup(self): page = self.fields.page comment_id = self.fields.comment_id doc = self.doc_comments(page) comment = doc.comment_by_id(comment_id) if self.fields.get('form'): tmpl = filter.comment_form_template tmpl = tmpl.replace( '[[ID]]', '') vars = { 'base': str(self.appurl), 'page_html': html_quote(page), 'comment_body_html': html_quote(comment.body.rstrip()), 'comment_id': html_quote(comment_id), 'action_name': 'edit_comment', } tmpl = tmpl % vars self.write(tmpl) return self.add_log_messages(doc) if not self.fields.comment: # Signals a delete doc.svn.log_messages.append('Delete comment') doc.delete_comment(comment_id) doc.save() self.write('__DELETE__') return comment.body = self.fields.comment doc.save() if self.fields.get('inplace'): self.write(comment.headers['id']) elif self.fields.get('_'): # xmlhttp request self.write(comment.html(base=self.appurl)) else: self.message.write('Comment saved') self.redirect(self.siteurl(page))