views.py 796 B

123456789101112131415161718192021222324252627
  1. from django.contrib import messages
  2. from django.db.transaction import atomic
  3. from django.shortcuts import redirect
  4. from django.utils import timezone
  5. from django.utils.translation import ugettext as _
  6. from django.views.decorators.cache import never_cache
  7. from django.views.decorators.csrf import csrf_protect
  8. from misago.core.decorators import require_POST
  9. from misago.users.decorators import deny_guests
  10. from misago.readtracker.signals import all_read
  11. @deny_guests
  12. @require_POST
  13. @csrf_protect
  14. @never_cache
  15. @atomic
  16. def read_all(request):
  17. request.user.reads_cutoff = timezone.now()
  18. request.user.save(update_fields=['reads_cutoff'])
  19. all_read.send(sender=request.user)
  20. messages.info(request, _("All forums and threads were marked as read."))
  21. return redirect('misago:index')