123456789101112131415161718192021222324252627282930313233343536 |
- from django.shortcuts import get_object_or_404
- from misago.categories import THREADS_ROOT_NAME
- from misago.categories.models import Category
- from misago.categories.permissions import allow_browse_category, allow_see_category
- from misago.core.shortcuts import get_int_or_404
- from misago.readtracker.categoriestracker import read_category
- from misago.threads.threadtypes import trees_map
- def read_threads(user, pk):
- user.lock()
- category_id = get_int_or_404(pk)
- threads_tree_id = trees_map.get_tree_id_for_root(THREADS_ROOT_NAME)
- category = get_object_or_404(
- Category,
- id=category_id,
- tree_id=threads_tree_id,
- )
- if category.level:
- allow_see_category(user, category)
- allow_browse_category(user, category)
- read_category(user, category)
- def read_private_threads(user):
- category = Category.objects.private_threads()
- read_category(user, category)
- user.sync_unread_private_threads = False
- user.unread_private_threads = 0
- user.save(update_fields=['sync_unread_private_threads', 'unread_private_threads'])
|