From e21dd91f3482ce6e1ea6c48f8efa2f46777c7a70 Mon Sep 17 00:00:00 2001 From: Aurélien Bompard Date: Wed, 22 May 2013 16:42:19 +0200 Subject: Display a marker on unread threads in the month view --- hyperkitty/views/list.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'hyperkitty/views/list.py') diff --git a/hyperkitty/views/list.py b/hyperkitty/views/list.py index 000b7b3..ef01b65 100644 --- a/hyperkitty/views/list.py +++ b/hyperkitty/views/list.py @@ -31,7 +31,7 @@ from django.utils import formats from django.utils.dateformat import format as date_format from django.http import Http404 -from hyperkitty.models import Tag, Favorite +from hyperkitty.models import Tag, Favorite, LastView from hyperkitty.lib import get_months, get_store, get_display_dates, daterange from hyperkitty.lib import FLASH_MESSAGES from hyperkitty.lib.voting import get_votes @@ -128,6 +128,20 @@ def _thread_list(request, mlist, threads, template_name='thread_list.html', extr except Tag.DoesNotExist: thread.tags = [] + # Unread status + thread.unread = False + if request.user.is_authenticated(): + try: + last_view_obj = LastView.objects.get( + list_address=mlist.name, + threadid=thread.thread_id, + user=request.user) + except LastView.DoesNotExist: + thread.unread = True + else: + if thread.date_active > last_view_obj.view_date: + thread.unread = True + all_threads = threads paginator = Paginator(threads, 10) page_num = request.GET.get('page') -- cgit