event/views.py
changeset 42 007d87112911
parent 41 d424b9668a74
child 44 ffc035725a4e
equal deleted inserted replaced
41:d424b9668a74 42:007d87112911
   143 
   143 
   144     quizzes = Quiz.objects.filter(event=event,quiz_num=quiz_num)
   144     quizzes = Quiz.objects.filter(event=event,quiz_num=quiz_num)
   145     quizzes_with_scores = quizzes.annotate(score=Sum('que_answered__is_correct'))
   145     quizzes_with_scores = quizzes.annotate(score=Sum('que_answered__is_correct'))
   146     sorted_quizzes = quizzes_with_scores.order_by("score").reverse()
   146     sorted_quizzes = quizzes_with_scores.order_by("score").reverse()
   147 
   147 
   148     return render_to_response("list_toppers.html", {"sorted_quizzes":sorted_quizzes, "event":event, "quiz_name":num2name[quiz_num]})
   148     return render_to_response("list_toppers.html", {"sorted_quizzes":sorted_quizzes,"admin_key":ADMIN_KEY, "event":event, "quiz_name":num2name[quiz_num]})
   149 
   149 
       
   150 def user_dump(request, admin_key, quiz_key, user_name):
       
   151     """ check for admin_key
       
   152     then get quiz by quiz_key and user_name.
       
   153     then display the dump
       
   154     """
       
   155 
       
   156     if not admin_key == ADMIN_KEY:
       
   157         raise Http404
       
   158 
       
   159     try:
       
   160         event = Event.objects.all()[0]
       
   161     except IndexError:
       
   162         return redirect('/event/create/%s'%ADMIN_KEY)
       
   163     try:
       
   164         quiz = Quiz.objects.get(event=event, key=quiz_key)
       
   165     except Quiz.DoesNotExist:
       
   166         raise Http404
       
   167 
       
   168     if not quiz.user.username == user_name:
       
   169         raise Http404
       
   170 
       
   171     quiz_name = num2name[quiz.quiz_num]
       
   172     if request.method == "POST":
       
   173         for ans in quiz.que_answered.all():
       
   174             ans.is_correct = True if str(ans.question.id) in request.POST else False
       
   175             ans.save()
       
   176         return redirect("/quiz/toppers/%s/%s"%(ADMIN_KEY, quiz.quiz_num))
       
   177     else:
       
   178         return render_to_response("user_dump.html", {"quiz":quiz, "quiz_name":quiz_name}) 
       
   179