privatethreads.py 661 B

12345678910111213
  1. from misago.models import Forum, Thread
  2. from misago.readstrackers import ThreadsTracker
  3. class PrivateThreadsMiddleware(object):
  4. def process_request(self, request):
  5. if (request.user.is_authenticated() and
  6. request.acl.private_threads.can_participate() and
  7. request.user.sync_pds):
  8. forum = Forum.objects.special_model('private_threads')
  9. tracker = ThreadsTracker(request, forum)
  10. unread_pds = tracker.unread_count(forum.thread_set.filter(participants__id=request.user.pk))
  11. request.user.sync_unread_pds(unread_pds)
  12. request.user.save(force_update=True)