readall.py 924 B

123456789101112131415161718192021222324
  1. from django.core.urlresolvers import reverse
  2. from django.shortcuts import redirect
  3. from django.template import RequestContext
  4. from django.utils import timezone
  5. from django.utils.translation import ugettext as _
  6. from misago import messages
  7. from misago.decorators import block_guest, check_csrf
  8. from misago.messages import Message
  9. from misago.models import ForumRead, ThreadRead
  10. @block_guest
  11. @check_csrf
  12. def read_all(request):
  13. ForumRead.objects.filter(user=request.user).delete()
  14. ThreadRead.objects.filter(user=request.user).delete()
  15. now = timezone.now()
  16. bulk = []
  17. for forum in request.acl.forums.known_forums():
  18. new_record = ForumRead(user=request.user, forum_id=forum, updated=now, cleared=now)
  19. bulk.append(new_record)
  20. if bulk:
  21. ForumRead.objects.bulk_create(bulk)
  22. messages.success(request, _("All forums have been marked as read."))
  23. return redirect(reverse('index'))