posting.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.core.urlresolvers import reverse
  2. from django.shortcuts import redirect
  3. from django.utils.translation import ugettext as _
  4. from misago import messages
  5. from misago.apps.threadtype.posting import NewThreadBaseView, EditThreadBaseView, NewReplyBaseView, EditReplyBaseView
  6. from misago.models import Forum, Thread, Post
  7. from misago.apps.threads.mixins import TypeMixin
  8. class NewThreadView(NewThreadBaseView, TypeMixin):
  9. def set_forum_context(self):
  10. self.forum = Forum.objects.get(pk=self.kwargs.get('forum'), type='forum')
  11. def response(self):
  12. if self.post.moderated:
  13. messages.success(self.request, _("New thread has been posted. It will be hidden from other members until moderator reviews it."), 'threads')
  14. else:
  15. messages.success(self.request, _("New thread has been posted."), 'threads')
  16. return redirect(reverse('thread', kwargs={'thread': self.thread.pk, 'slug': self.thread.slug}) + ('#post-%s' % self.post.pk))
  17. class EditThreadView(EditThreadBaseView, TypeMixin):
  18. def response(self):
  19. messages.success(self.request, _("Your thread has been edited."), 'threads_%s' % self.post.pk)
  20. return redirect(reverse('thread', kwargs={'thread': self.thread.pk, 'slug': self.thread.slug}) + ('#post-%s' % self.post.pk))
  21. class NewReplyView(NewReplyBaseView, TypeMixin):
  22. def response(self):
  23. if self.post.moderated:
  24. messages.success(self.request, _("Your reply has been posted. It will be hidden from other members until moderator reviews it.")), 'threads_%s' % self.post.pk)
  25. else:
  26. messages.success(self.request, _("Your reply has been posted."), 'threads_%s' % self.post.pk)
  27. return self.redirect_to_post(self.post)
  28. class EditReplyView(EditReplyBaseView, TypeMixin):
  29. def response(self):
  30. messages.success(self.request, _("Your reply has been changed."), 'threads_%s' % self.post.pk)
  31. return self.redirect_to_post(self.post)