\r
class NodeEditAction(ActionProxy):\r
def create_revision_data(self, initial=False, **data):\r
- revision_data = dict(summary=data.get('summary', (initial and _('Initial revision' or ''))), body=data['text'])\r
+ revision_data = dict(summary=data.get('summary', (initial and _('Initial revision') or '')), body=data['text'])\r
\r
if data.get('title', None):\r
revision_data['title'] = strip_tags(data['title'].strip())\r
return revision_data\r
\r
class AskAction(NodeEditAction):\r
+ verb = _("asked")\r
+\r
def process_data(self, **data):\r
question = Question(author=self.user, **self.create_revision_data(True, **data))\r
question.save()\r
}\r
\r
class AnswerAction(NodeEditAction):\r
+ verb = _("answered")\r
+\r
def process_data(self, **data):\r
answer = Answer(author=self.user, parent=data['question'], **self.create_revision_data(True, **data))\r
answer.save()\r
}\r
\r
class CommentAction(ActionProxy):\r
+ verb = _("commented")\r
+\r
def process_data(self, text='', parent=None):\r
comment = Comment(author=self.user, parent=parent, body=text)\r
comment.save()\r
}\r
\r
class ReviseAction(NodeEditAction):\r
+ verb = _("edited")\r
+\r
def process_data(self, **data):\r
revision_data = self.create_revision_data(**data)\r
revision = self.node.create_revision(self.user, action=self, **revision_data)\r
'post_desc': self.describe_node(viewer, self.node)\r
}\r
\r
+ def get_absolute_url(self):\r
+ return self.node.get_revisions_url()\r
+\r
class RetagAction(ActionProxy):\r
+ verb = _("retagged")\r
+\r
def process_data(self, tagnames=''):\r
active = self.node.active_revision\r
revision_data = dict(summary=_('Retag'), title=active.title, tagnames=strip_tags(tagnames.strip()), body=active.body)\r
'post_desc': self.describe_node(viewer, self.node)\r
}\r
\r
+ def get_absolute_url(self):\r
+ return self.node.get_revisions_url()\r
+\r
class RollbackAction(ActionProxy):\r
+ verb = _("reverted")\r
+\r
def process_data(self, activate=None):\r
previous = self.node.active_revision\r
self.node.activate_revision(self.user, activate, self)\r
'final': revisions[1].revision, 'final_sum': revisions[1].summary,\r
}\r
\r
+ def get_absolute_url(self):\r
+ return self.node.get_revisions_url()\r
+\r
class CloseAction(ActionProxy):\r
+ verb = _("closed")\r
+\r
def process_action(self):\r
self.node.extra_action = self\r
self.node.marked = True\r