diff options
Diffstat (limited to 'hyperkitty')
-rw-r--r-- | hyperkitty/templates/month_view.html | 8 | ||||
-rw-r--r-- | hyperkitty/views/list.py | 47 |
2 files changed, 45 insertions, 10 deletions
diff --git a/hyperkitty/templates/month_view.html b/hyperkitty/templates/month_view.html index ba994d2..600c206 100644 --- a/hyperkitty/templates/month_view.html +++ b/hyperkitty/templates/month_view.html @@ -55,13 +55,7 @@ </ul> <ul class="inline-block"> <li class="like"> - +{{email.liked}} - </li> - <li class="youlike"> - <a href="#like"> Like</a> - </li> - <li class="youdislike"> - <a href="#dislike"> Dislike</a> + +{{email.avglike}} / - {{email.avgdislike}} </li> </ul> </div> diff --git a/hyperkitty/views/list.py b/hyperkitty/views/list.py index dc24ee0..87dec29 100644 --- a/hyperkitty/views/list.py +++ b/hyperkitty/views/list.py @@ -78,14 +78,55 @@ def archives(request, mlist_fqdn, year=None, month=None, day=None): cnt = 0 for thread in threads: # Statistics on how many participants and threads this month - participants.add(msg.sender) + participants.add(thread.sender) thread.participants = STORE.get_thread_participants(list_name, thread.thread_id) thread.answers = STORE.get_thread_length(list_name, thread.thread_id) + + highestlike = 0 + highestdislike = 0 + + totalvotes = 0 + totallikes = 0 + totaldislikes = 0 + messages = STORE.get_thread(list_name, thread.thread_id) + + for message in messages: + # Extract all the votes for this message + try: + votes = Rating.objects.filter(messageid=message.message_id) + except Rating.DoesNotExist: + votes = {} + + likes = 0 + dislikes = 0 + + for vote in votes: + if vote.vote == 1: + likes = likes + 1 + elif vote.vote == -1: + dislikes = dislikes + 1 + else: + pass + + totallikes = totallikes + likes + totalvotes = totalvotes + likes + dislikes + totaldislikes = totaldislikes + dislikes + + try: + thread.avglike = totallikes / totalvotes + except: + thread.avglike = 0 + + try: + thread.avgdislike = totaldislikes / totalvotes + except: + thread.avgdislike = 0 + threads[cnt] = thread - cnt = cnt + 1 - + cnt = cnt + 1 + paginator = Paginator(threads, 10) pageNo = request.GET.get('page') |