from commentary.sitepage import * from commentary import store from datetime import datetime class add_comment(SitePage): def setup(self): page = self.fields.page body = self.fields.comment.strip() username = self.fields.username email = self.fields.email if not body: if self.fields.get('_'): self.write('XXX') else: self.message.write('No content!') self.redirect(self.siteurl(page)) return position_id = self.fields.get('position_id') or '__page__' doc = self.doc_comments(page) headers = { 'ip': self.environ.get('REMOTE_ADDR', '?'), 'date': datetime.now().strftime('%Y-%m-%dT%H:%M:%S'), 'username': username, 'email': email, } comment = store.Comment(headers, body) self.add_log_messages(doc) doc.svn.log_messages.append('Add comment') doc.add_comment(position_id, comment) doc.save() if self.fields.get('inplace'): self.write(comment.headers.get('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))