summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authorAamir Khan <syst3m.w0rm@gmail.com>2012-06-18 22:43:41 -0400
committerAamir Khan <syst3m.w0rm@gmail.com>2012-06-18 22:43:41 -0400
commitbf23059410ec7431ba83576a8cef6c3f8095b3e0 (patch)
treeba8a4063c5e9aafbc331c7493808b276911b654c /views
parent80d628f1a9100c3d31d3c803690447698a4dbf1f (diff)
Rating of messages
Diffstat (limited to 'views')
-rw-r--r--views/pages.py33
1 files changed, 31 insertions, 2 deletions
diff --git a/views/pages.py b/views/pages.py
index 2251c99..ebf4e5e 100644
--- a/views/pages.py
+++ b/views/pages.py
@@ -8,13 +8,18 @@ import os
import re
from urlparse import urljoin
import urllib
-
+import django.utils.simplejson as simplejson
from django import forms
from django.http import HttpResponse, HttpResponseRedirect
from django.template import RequestContext, loader
from django.conf import settings
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger, InvalidPage
#import urlgrabber
+from gsoc.models import Rating
+
+from django.contrib.auth.decorators import (login_required,
+ permission_required,
+ user_passes_test)
from bunch import Bunch
@@ -79,7 +84,31 @@ def index(request):
})
return HttpResponse(t.render(c))
+@login_required
+def vote_message (request, mlist_fqdn, messageid):
+ """ Add a rating to a given message identified by messageid. """
+ if not request.user.is_authenticated():
+ return redirect('user_login')
+
+ value = request.POST['vote']
+ print value
+ # See if the user has already voted or not.
+ # If not create a new entry
+ try:
+ v = Rating.objects.get(user = request.user, messageid = messageid, list_address = mlist_fqdn)
+ except Rating.DoesNotExist:
+ v = Rating ( list_address=mlist_fqdn, messageid = messageid, vote = value)
+
+ v.user = request.user
+ v.vote = value
+ v.save()
+ response_dict = { }
+
+
+ return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')
+
+@login_required
def add_tag(request, mlist_fqdn, email_id):
""" Add a tag to a given message. """
t = loader.get_template('simple_form.html')
@@ -289,12 +318,12 @@ def message (request, mlist_fqdn, messageid):
t = loader.get_template('message.html')
message = STORE.get_email(list_name, messageid)
message.email = message.email.strip()
-
c = RequestContext(request, {
'app_name': settings.APP_NAME,
'list_name' : list_name,
'list_address': mlist_fqdn,
'message': message,
+ 'messageid' : messageid,
})
return HttpResponse(t.render(c))