diff options
Diffstat (limited to 'hyperkitty/views/list.py')
-rw-r--r-- | hyperkitty/views/list.py | 16 |
1 files changed, 15 insertions, 1 deletions
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') |