diff options
author | Aamir Khan <syst3m.w0rm@gmail.com> | 2012-06-25 00:39:31 -0400 |
---|---|---|
committer | Aamir Khan <syst3m.w0rm@gmail.com> | 2012-06-25 00:39:31 -0400 |
commit | d136299d02c154c0fc8fd79f2f56af8c4def63e3 (patch) | |
tree | e95f2954e27949f1394b45d19b38679c5dea23a1 | |
parent | 90d32cc679d0943cb1d24aca0e1837e15a7b7563 (diff) | |
download | hyperkitty-d136299d02c154c0fc8fd79f2f56af8c4def63e3.tar.gz hyperkitty-d136299d02c154c0fc8fd79f2f56af8c4def63e3.tar.xz hyperkitty-d136299d02c154c0fc8fd79f2f56af8c4def63e3.zip |
populate voteup/votedown for each message
-rw-r--r-- | views/message.py | 22 | ||||
-rw-r--r-- | views/pages.py | 31 | ||||
-rw-r--r-- | views/thread.py | 1 |
3 files changed, 47 insertions, 7 deletions
diff --git a/views/message.py b/views/message.py index 57059ad..77466a7 100644 --- a/views/message.py +++ b/views/message.py @@ -23,8 +23,28 @@ def index (request, mlist_fqdn, messageid): t = loader.get_template('message.html') message = STORE.get_email(list_name, messageid) message.email = message.email.strip() + # Extract all the votes for this message + try: + votes = Rating.objects.filter(messageid = messageid) + 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 + + message.votes = votes + message.likes = likes + message.dislikes = dislikes + c = RequestContext(request, { - 'app_name': settings.APP_NAME, 'list_name' : list_name, 'list_address': mlist_fqdn, 'message': message, diff --git a/views/pages.py b/views/pages.py index 879c30a..8f682f0 100644 --- a/views/pages.py +++ b/views/pages.py @@ -21,6 +21,8 @@ from django.contrib.auth.decorators import (login_required, user_passes_test) from kittystore.kittysastore import KittySAStore +from gsoc.models import Rating + from thread import AddTagForm logger = logging.getLogger(__name__) @@ -88,7 +90,6 @@ def add_category(request, mlist_fqdn, email_id): else: form = AddCategoryForm() c = RequestContext(request, { - 'app_name': settings.APP_NAME, 'list_address': mlist_fqdn, 'email_id': email_id, 'addtag_form': form, @@ -365,10 +366,31 @@ def thread (request, mlist_fqdn, threadid): participants = {} cnt = 0 - for msg in threads: - msg.email = msg.email.strip() + for message in threads: + message.email = message.email.strip() + # 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 + + message.votes = votes + message.likes = likes + message.dislikes = dislikes + # Statistics on how many participants and threads this month - participants[msg.sender] = {'email': msg.email} + participants[message.sender] = {'email': message.email} cnt = cnt + 1 archives_length = STORE.get_archives_length(list_name) @@ -377,7 +399,6 @@ def thread (request, mlist_fqdn, threadid): print dir(search_form) c = RequestContext(request, { - 'app_name': settings.APP_NAME, 'list_name' : list_name, 'list_address': mlist_fqdn, 'search_form': search_form, diff --git a/views/thread.py b/views/thread.py index d34e57b..45289be 100644 --- a/views/thread.py +++ b/views/thread.py @@ -39,7 +39,6 @@ def add_tag(request, mlist_fqdn, email_id): else: form = AddTagForm() c = RequestContext(request, { - 'app_name': settings.APP_NAME, 'list_address': mlist_fqdn, 'email_id': email_id, 'addtag_form': form, |