thread.py 760 B

1234567891011121314151617181920212223242526272829
  1. from django.shortcuts import redirect
  2. from misago.forums.lists import get_forum_path
  3. from misago.threads.views.generic.base import ViewBase
  4. __all__ = ['ThreadView']
  5. class ThreadView(ViewBase):
  6. """
  7. Basic view for threads
  8. """
  9. template = 'thread.html'
  10. def dispatch(self, request, *args, **kwargs):
  11. relations = ['forum', 'starter', 'last_poster', 'first_post']
  12. thread = self.fetch_thread(request, select_related=relations, **kwargs)
  13. forum = thread.forum
  14. self.check_forum_permissions(request, forum)
  15. self.check_thread_permissions(request, thread)
  16. return self.render(request, {
  17. 'forum': forum,
  18. 'path': get_forum_path(forum),
  19. 'thread': thread
  20. })