event/views.py
changeset 44 ffc035725a4e
parent 42 007d87112911
child 48 aae2f69ba89c
equal deleted inserted replaced
43:265ed367e8cc 44:ffc035725a4e
     5 from offline.settings import ADMIN_KEY
     5 from offline.settings import ADMIN_KEY
     6 
     6 
     7 from offline.event.models import Event
     7 from offline.event.models import Event
     8 from offline.event.forms import EventCreateForm
     8 from offline.event.forms import EventCreateForm
     9 
     9 
    10 from offline.quiz.models import Quiz
    10 from offline.quiz.models import Quiz, QuestionBank
    11 from offline.quiz.utils import correct_quiz
    11 from offline.quiz.utils import correct_quiz
    12 
    12 
    13 num2name = {"11" : "Day 1 Quiz 1",
    13 num2name = {"11" : "Day 1 Quiz 1",
    14             "12" : "Day 1 Quiz 2",
    14             "12" : "Day 1 Quiz 2",
    15             "21" : "Day 2 Quiz 1",
    15             "21" : "Day 2 Quiz 1",
   158 
   158 
   159     try:
   159     try:
   160         event = Event.objects.all()[0]
   160         event = Event.objects.all()[0]
   161     except IndexError:
   161     except IndexError:
   162         return redirect('/event/create/%s'%ADMIN_KEY)
   162         return redirect('/event/create/%s'%ADMIN_KEY)
       
   163 
   163     try:
   164     try:
   164         quiz = Quiz.objects.get(event=event, key=quiz_key)
   165         quiz = Quiz.objects.get(event=event, key=quiz_key)
   165     except Quiz.DoesNotExist:
   166     except Quiz.DoesNotExist:
   166         raise Http404
   167         raise Http404
   167 
   168 
   173         for ans in quiz.que_answered.all():
   174         for ans in quiz.que_answered.all():
   174             ans.is_correct = True if str(ans.question.id) in request.POST else False
   175             ans.is_correct = True if str(ans.question.id) in request.POST else False
   175             ans.save()
   176             ans.save()
   176         return redirect("/quiz/toppers/%s/%s"%(ADMIN_KEY, quiz.quiz_num))
   177         return redirect("/quiz/toppers/%s/%s"%(ADMIN_KEY, quiz.quiz_num))
   177     else:
   178     else:
   178         return render_to_response("user_dump.html", {"quiz":quiz, "quiz_name":quiz_name}) 
   179         return render_to_response("user_dump.html", {"quiz":quiz, "quiz_name":quiz_name, "admin_key":ADMIN_KEY}) 
   179 
   180 
       
   181 def que_dump(request, admin_key, que_id):
       
   182     """ check for admin key
       
   183     then simply render all answers corresponding to the question.
       
   184     """
       
   185 
       
   186     if not admin_key == ADMIN_KEY:
       
   187         raise Http404
       
   188 
       
   189     try:
       
   190         event = Event.objects.all()[0]
       
   191     except IndexError:
       
   192         return redirect('/event/create/%s'%ADMIN_KEY)
       
   193 
       
   194     try:
       
   195         question = QuestionBank.objects.get(id=que_id)
       
   196     except QuestionBank.DoesNotExist:
       
   197         raise Http404
       
   198 
       
   199     quiz_num = question.quiz_num
       
   200     quiz_name = num2name[quiz_num]
       
   201 
       
   202     answers = question.answer.all()
       
   203 
       
   204     if request.method == "POST":
       
   205         for ans in answers:
       
   206             ans.is_correct = True if str(ans.id) in request.POST else False
       
   207             ans.save()
       
   208         return redirect("/quiz/toppers/%s/%s"%(ADMIN_KEY, quiz_num))
       
   209     else:
       
   210         return render_to_response("que_dump.html", {"quiz_name":quiz_name, "answers":answers})