event/views.py
changeset 75 f7ee769f0d95
parent 74 46c5ae6594df
child 76 c84fc7ace0f5
equal deleted inserted replaced
74:46c5ae6594df 75:f7ee769f0d95
   118     for quiz in event_quizzes:
   118     for quiz in event_quizzes:
   119         correct_quiz(quiz)
   119         correct_quiz(quiz)
   120 
   120 
   121     return render_to_response("close_quiz.html", {"admin_key":ADMIN_KEY, "quiz_name":num2name[quiz_num]})
   121     return render_to_response("close_quiz.html", {"admin_key":ADMIN_KEY, "quiz_name":num2name[quiz_num]})
   122 
   122 
   123 def list_toppers(request, admin_key, quiz_num):
   123 def list_toppers(request, quiz_num):
   124     """ check for admin key
   124     """ check for admin key
   125     Then check for quiz_num in ['11', ..]
   125     Then check for quiz_num in ['11', ..]
   126     then give appropriate response.
   126     then give appropriate response.
   127     """
   127     """
   128 
       
   129     if not admin_key == ADMIN_KEY:
       
   130         raise Http404
       
   131 
   128 
   132     try:
   129     try:
   133         event = Event.objects.all()[0]
   130         event = Event.objects.all()[0]
   134     except IndexError:
   131     except IndexError:
   135         return redirect('/event/create/%s'%ADMIN_KEY)
   132         return redirect('/event/create/%s'%ADMIN_KEY)
   141     quizzes_with_scores = quizzes.annotate(score=Sum('que_answered__is_correct'))
   138     quizzes_with_scores = quizzes.annotate(score=Sum('que_answered__is_correct'))
   142     sorted_quizzes = quizzes_with_scores.order_by("score").reverse()
   139     sorted_quizzes = quizzes_with_scores.order_by("score").reverse()
   143 
   140 
   144     return render_to_response("list_toppers.html", {"sorted_quizzes":sorted_quizzes,"admin_key":ADMIN_KEY, "event":event, "quiz_name":num2name[quiz_num]})
   141     return render_to_response("list_toppers.html", {"sorted_quizzes":sorted_quizzes,"admin_key":ADMIN_KEY, "event":event, "quiz_name":num2name[quiz_num]})
   145 
   142 
   146 def user_dump(request, admin_key, quiz_key, user_name):
   143 def user_dump(request, quiz_key, user_name):
   147     """ check for admin_key
   144     """ check for admin_key
   148     then get quiz by quiz_key and user_name.
   145     then get quiz by quiz_key and user_name.
   149     then display the dump
   146     then display the dump
   150     """
   147     """
   151 
       
   152     if not admin_key == ADMIN_KEY:
       
   153         raise Http404
       
   154 
   148 
   155     try:
   149     try:
   156         event = Event.objects.all()[0]
   150         event = Event.objects.all()[0]
   157     except IndexError:
   151     except IndexError:
   158         return redirect('/event/create/%s'%ADMIN_KEY)
   152         return redirect('/event/create/%s'%ADMIN_KEY)
   172             ans.save()
   166             ans.save()
   173         return redirect("/quiz/toppers/%s/%s"%(ADMIN_KEY, quiz.quiz_num))
   167         return redirect("/quiz/toppers/%s/%s"%(ADMIN_KEY, quiz.quiz_num))
   174     else:
   168     else:
   175         return render_to_response("user_dump.html", {"quiz":quiz, "quiz_name":quiz_name, "admin_key":ADMIN_KEY}) 
   169         return render_to_response("user_dump.html", {"quiz":quiz, "quiz_name":quiz_name, "admin_key":ADMIN_KEY}) 
   176 
   170 
   177 def que_dump(request, admin_key, que_id):
   171 def que_dump(request, que_id):
   178     """ check for admin key
   172     """ check for admin key
   179     then simply render all answers corresponding to the question.
   173     then simply render all answers corresponding to the question.
   180     """
   174     """
   181 
       
   182     if not admin_key == ADMIN_KEY:
       
   183         raise Http404
       
   184 
   175 
   185     try:
   176     try:
   186         event = Event.objects.all()[0]
   177         event = Event.objects.all()[0]
   187     except IndexError:
   178     except IndexError:
   188         return redirect('/event/create/%s'%ADMIN_KEY)
   179         return redirect('/event/create/%s'%ADMIN_KEY)