--- a/event/views.py Thu Apr 22 00:36:08 2010 +0530
+++ b/event/views.py Thu Apr 22 01:35:31 2010 +0530
@@ -145,5 +145,35 @@
quizzes_with_scores = quizzes.annotate(score=Sum('que_answered__is_correct'))
sorted_quizzes = quizzes_with_scores.order_by("score").reverse()
- return render_to_response("list_toppers.html", {"sorted_quizzes":sorted_quizzes, "event":event, "quiz_name":num2name[quiz_num]})
+ return render_to_response("list_toppers.html", {"sorted_quizzes":sorted_quizzes,"admin_key":ADMIN_KEY, "event":event, "quiz_name":num2name[quiz_num]})
+
+def user_dump(request, admin_key, quiz_key, user_name):
+ """ check for admin_key
+ then get quiz by quiz_key and user_name.
+ then display the dump
+ """
+
+ if not admin_key == ADMIN_KEY:
+ raise Http404
+ try:
+ event = Event.objects.all()[0]
+ except IndexError:
+ return redirect('/event/create/%s'%ADMIN_KEY)
+ try:
+ quiz = Quiz.objects.get(event=event, key=quiz_key)
+ except Quiz.DoesNotExist:
+ raise Http404
+
+ if not quiz.user.username == user_name:
+ raise Http404
+
+ quiz_name = num2name[quiz.quiz_num]
+ if request.method == "POST":
+ for ans in quiz.que_answered.all():
+ ans.is_correct = True if str(ans.question.id) in request.POST else False
+ ans.save()
+ return redirect("/quiz/toppers/%s/%s"%(ADMIN_KEY, quiz.quiz_num))
+ else:
+ return render_to_response("user_dump.html", {"quiz":quiz, "quiz_name":quiz_name})
+