event/views.py
changeset 42 007d87112911
parent 41 d424b9668a74
child 44 ffc035725a4e
--- 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}) 
+