Example #1
0
def read_all(request):
    ForumRead.objects.filter(user=request.user).delete()
    ThreadRead.objects.filter(user=request.user).delete()
    now = timezone.now()
    bulk = []
    for forum in request.acl.forums.known_forums():
        new_record = ForumRead(user=request.user,
                               forum_id=forum,
                               updated=now,
                               cleared=now)
        bulk.append(new_record)
    if bulk:
        ForumRead.objects.bulk_create(bulk)
    messages.success(request, _("All forums have been marked as read."))
    return redirect(reverse('index'))
Example #2
0
 def __init__(self, request, forum):
     self.need_create = None
     self.need_update = None
     self.request = request
     self.forum = forum
     self.cutoff = timezone.now() - timedelta(days=settings.READS_TRACKER_LENGTH)
     if request.user.is_authenticated():
         if request.user.join_date > self.cutoff:
             self.cutoff = request.user.join_date
         try:
             self.record = ForumRead.objects.get(user=request.user, forum=forum)
             if self.record.cleared > self.cutoff:
                 self.cutoff = self.record.cleared
         except ForumRead.DoesNotExist:
             self.record = ForumRead(user=request.user, forum=forum, cleared=self.cutoff)
         self.threads = self.record.get_threads()