1234567891011121314151617181920212223242526 |
- from django.http import Http404
- from django.shortcuts import get_object_or_404
- from misago.acl import add_acl
- from misago.categories.models import CATEGORIES_TREE_ID
- from misago.threads.permissions.threads import allow_see_thread
- from misago.threads.models import Thread
- class ThreadMixin(object):
- def get_thread(self, request, pk):
- thread = get_object_or_404(Thread.objects.select_related('category', 'starter'), pk=pk)
- if thread.category.tree_id != CATEGORIES_TREE_ID:
- raise Http404()
- add_acl(request.user, thread)
- add_acl(request.user, thread.category)
- allow_see_thread(request.user, thread)
- return thread
- class PrivateThreadMixin(object):
- pass
|