diff -r d424b9668a74 -r 007d87112911 event/views.py --- 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}) +