created que_dump page
authornishanth
Thu, 22 Apr 2010 02:13:32 +0530
changeset 44 ffc035725a4e
parent 43 265ed367e8cc
child 45 3be60e26e14f
created que_dump page
event/views.py
offline.db.bak
templates/que_dump.html
templates/user_dump.html
urls.py
--- a/event/views.py	Thu Apr 22 01:41:43 2010 +0530
+++ b/event/views.py	Thu Apr 22 02:13:32 2010 +0530
@@ -7,7 +7,7 @@
 from offline.event.models import Event
 from offline.event.forms import EventCreateForm
 
-from offline.quiz.models import Quiz
+from offline.quiz.models import Quiz, QuestionBank
 from offline.quiz.utils import correct_quiz
 
 num2name = {"11" : "Day 1 Quiz 1",
@@ -160,6 +160,7 @@
         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:
@@ -175,5 +176,35 @@
             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}) 
+        return render_to_response("user_dump.html", {"quiz":quiz, "quiz_name":quiz_name, "admin_key":ADMIN_KEY}) 
+
+def que_dump(request, admin_key, que_id):
+    """ check for admin key
+    then simply render all answers corresponding to the question.
+    """
+
+    if not admin_key == ADMIN_KEY:
+        raise Http404
+
+    try:
+        event = Event.objects.all()[0]
+    except IndexError:
+        return redirect('/event/create/%s'%ADMIN_KEY)
 
+    try:
+        question = QuestionBank.objects.get(id=que_id)
+    except QuestionBank.DoesNotExist:
+        raise Http404
+
+    quiz_num = question.quiz_num
+    quiz_name = num2name[quiz_num]
+
+    answers = question.answer.all()
+
+    if request.method == "POST":
+        for ans in answers:
+            ans.is_correct = True if str(ans.id) in request.POST else False
+            ans.save()
+        return redirect("/quiz/toppers/%s/%s"%(ADMIN_KEY, quiz_num))
+    else:
+        return render_to_response("que_dump.html", {"quiz_name":quiz_name, "answers":answers})
Binary file offline.db.bak has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/que_dump.html	Thu Apr 22 02:13:32 2010 +0530
@@ -0,0 +1,23 @@
+{% extends 'base.html' %}
+{% block content %}
+List of answers submitted for {{quiz_name}} of {{event.title}}<br />
+<form action="" method="post">
+<table cellspacing="5" cellpadding="3">
+		<tr>
+				<td>User</td>
+				<td>Submitted Answer</td>
+				<td> Is Correct</td>
+		</tr>
+	
+		{% for ans in answers %}
+		<tr>
+				<td>{{ans.quiz.all.0.user.get_full_name}}</td>
+				<td>{{ans.submitted_ans}}</td>
+				<td><input name="{{ans.id}}" type="checkbox" {% if ans.is_correct %}checked="yes"{%endif%}></td>
+		</tr>
+		{% endfor %}
+</table><br />
+		<input type="submit" value="save">
+</form>
+{% endblock %}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/user_dump.html	Thu Apr 22 02:13:32 2010 +0530
@@ -0,0 +1,23 @@
+{% extends 'base.html' %}
+{% block content %}
+List of answers submitted by {{quiz.user.get_full_name}} for {{quiz_name}} of {{event.title}}<br />
+<form action="" method="post">
+<table cellspacing="5" cellpadding="3">
+		<tr>
+				<td>Question</td>
+				<td>Submitted Answer</td>
+				<td> Is Correct</td>
+		</tr>
+	
+		{% for ans in quiz.que_answered.all %}
+		<tr>
+				<td><a href="/quiz/que_dump/{{admin_key}}/{{ans.question.id}}">{{ans.question.description|slice:":50"}}</a></td>
+				<td>{{ans.submitted_ans}}</td>
+				<td><input name="{{ans.question.id}}" type="checkbox" {% if ans.is_correct %}checked="yes"{%endif%}></td>
+		</tr>
+		{% endfor %}
+</table><br />
+		<input type="submit" value="save">
+</form>
+{% endblock %}
+
--- a/urls.py	Thu Apr 22 01:41:43 2010 +0530
+++ b/urls.py	Thu Apr 22 02:13:32 2010 +0530
@@ -38,5 +38,6 @@
     (r'^quiz/complete/$', quiz_views.quiz_complete),
 
     (r'^quiz/toppers/(\w+)/(\w+)$', event_views.list_toppers),
-    (r'^quiz/user_dump/(\w+)/(\w+)/(\w+)', event_views.user_dump),
+    (r'^quiz/user_dump/(\w+)/(\w+)/(\w+)$', event_views.user_dump),
+    (r'^quiz/que_dump/(\w+)/(\w+)$', event_views.que_dump),
 )