from django.utils.translation import ugettext as _\r
from forum.models.action import ActionProxy\r
from forum.models import Comment, Question, Answer, NodeRevision\r
+import logging\r
\r
class NodeEditAction(ActionProxy):\r
def create_revision_data(self, initial=False, **data):\r
'question': self.describe_node(viewer, self.node.abs_parent),\r
}\r
\r
+class CommentToAnswerAction(ActionProxy):\r
+ verb = _("converted")\r
+\r
+ def process_data(self, question):\r
+ self.node.parent = question\r
+ self.node.node_type = "answer"\r
+ self.node.last_edited = self\r
+ self.node.update_last_activity(self.user, save=True)\r
+\r
+\r
+ def describe(self, viewer=None):\r
+ return _("%(user)s converted comment on %(question)s into an answer") % {\r
+ 'user': self.hyperlink(self.user.get_profile_url(), self.friendly_username(viewer, self.user)),\r
+ 'question': self.describe_node(viewer, self.node.abs_parent),\r
+ }\r
+\r
+class AnswerToQuestionAction(ActionProxy):\r
+ verb = _("converted to question")\r
+\r
+ def process_data(self, title):\r
+ self.node.node_type = "question"\r
+ self.node.title = title\r
+ self.node.active_revision.title = title\r
+ self.node.active_revision.save()\r
+ self.node.last_edited = self\r
+ self.node.update_last_activity(self.user, save=True)\r
+\r
+ try:\r
+ self.node.abs_parent.reset_answer_count_cache()\r
+ except AttributeError:\r
+ pass\r
+\r
+\r
+ def describe(self, viewer=None):\r
+ return _("%(user)s converted an answer to %(question)s into a separate question") % {\r
+ 'user': self.hyperlink(self.user.get_profile_url(), self.friendly_username(viewer, self.user)),\r
+ 'question': self.describe_node(viewer, self.node.abs_parent),\r
+ }\r
+\r
class WikifyAction(ActionProxy):\r
verb = _("wikified")\r
\r