from django.utils.translation import ugettext as _
from forum.models.action import ActionProxy
from forum.models import Comment, Question, Answer, NodeRevision
-import logging
+from forum import settings, REQUEST_HOLDER
+
+from django.contrib import messages
class NodeEditAction(ActionProxy):
def create_revision_data(self, initial=False, **data):
question.save()
self.node = question
+ messages.info(REQUEST_HOLDER.request, self.describe(self.user))
+
def describe(self, viewer=None):
return _("%(user)s asked %(question)s") % {
'user': self.hyperlink(self.user.get_profile_url(), self.friendly_username(viewer, self.user)),
def process_action(self):
self.node.question.reset_answer_count_cache()
+ messages.info(REQUEST_HOLDER.request, self.describe(self.user))
+
+
def describe(self, viewer=None):
question = self.node.parent
return _("%(user)s answered %(asker)s on %(question)s") % {
'user': self.hyperlink(self.user.get_profile_url(), self.friendly_username(viewer, self.user)),
'question': self.describe_node(viewer, self.node.abs_parent),
}
+class CommentToQuestionAction(NodeEditAction):
+ verb = _("converted")
+
+ def process_data(self, **data):
+ revision_data = self.create_revision_data(**data)
+ revision = self.node.create_revision(self.user, **revision_data)
+
+ self.extra = {
+ 'covert_revision': revision.revision,
+ }
+
+ self.node.node_type = "question"
+ self.node.parent = None
+ self.node.abs_parent = None
+
+ def process_action(self):
+ self.node.last_edited = self
+ self.node.save()
+
+ def describe(self, viewer=None):
+ return _("%(user)s converted comment on %(question)s to a new question") % {
+ 'user': self.hyperlink(self.user.get_profile_url(), self.friendly_username(viewer, self.user)),
+ 'question': self.describe_node(viewer, self.node.abs_parent),
+ }
class AnswerToQuestionAction(NodeEditAction):
verb = _("converted to question")