summaryrefslogtreecommitdiffstats
path: root/hyperkitty/views
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-05-22 16:42:19 +0200
committerAurélien Bompard <aurelien@bompard.org>2013-05-23 09:32:13 +0200
commite21dd91f3482ce6e1ea6c48f8efa2f46777c7a70 (patch)
tree3d296f2ad327f729298539ea15833251348e0307 /hyperkitty/views
parent1eeef494e6cb6c23f207be8715ff39c0e52e3c37 (diff)
downloadhyperkitty-e21dd91f3482ce6e1ea6c48f8efa2f46777c7a70.tar.gz
hyperkitty-e21dd91f3482ce6e1ea6c48f8efa2f46777c7a70.tar.xz
hyperkitty-e21dd91f3482ce6e1ea6c48f8efa2f46777c7a70.zip
Display a marker on unread threads in the month view
Diffstat (limited to 'hyperkitty/views')
-rw-r--r--hyperkitty/views/list.py16
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')