middleware.py 961 B

1234567891011121314151617181920212223
  1. from time import time
  2. from django.conf import settings
  3. from misago.threads.counts import (ModeratedCount, NewThreadsCount,
  4. UnreadThreadsCount,
  5. sync_user_unread_private_threads_count)
  6. class UnreadThreadsCountMiddleware(object):
  7. def process_request(self, request):
  8. if request.user.is_authenticated():
  9. if request.user.acl['can_review_moderated_content']:
  10. request.user.moderated_content = ModeratedCount(
  11. request.user, request.session)
  12. request.user.new_threads = NewThreadsCount(
  13. request.user, request.session)
  14. request.user.unread_threads = UnreadThreadsCount(
  15. request.user, request.session)
  16. if request.user.acl['can_use_private_threads']:
  17. # special case: count unread threads
  18. sync_user_unread_private_threads_count(request.user)