readall.py 940 B

1234567891011121314151617181920212223
  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.decorators import block_guest, check_csrf
  7. from misago.messages import Message
  8. from misago.models import ForumRead, ThreadRead
  9. @block_guest
  10. @check_csrf
  11. def read_all(request):
  12. ForumRead.objects.filter(user=request.user).delete()
  13. ThreadRead.objects.filter(user=request.user).delete()
  14. now = timezone.now()
  15. bulk = []
  16. for forum in request.acl.forums.known_forums():
  17. new_record = ForumRead(user=request.user, forum_id=forum, updated=now, cleared=now)
  18. bulk.append(new_record)
  19. if bulk:
  20. ForumRead.objects.bulk_create(bulk)
  21. request.messages.set_flash(Message(_("All forums have been marked as read.")), 'success')
  22. return redirect(reverse('index'))