summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorankitjavalkar2016-11-18 16:24:45 +0530
committerankitjavalkar2016-12-21 18:12:52 +0530
commit66ee0552653ee139491d5166d20f8bce7a5c835a (patch)
treed98e58ba8955a38c79a99c09bc215f9b4f7cdb04
parent15de9ce5fe9d1e456bfae60090807a77c6afef0a (diff)
downloadonline_test-66ee0552653ee139491d5166d20f8bce7a5c835a.tar.gz
online_test-66ee0552653ee139491d5166d20f8bce7a5c835a.tar.bz2
online_test-66ee0552653ee139491d5166d20f8bce7a5c835a.zip
Render output errors properly in grade user
-rw-r--r--yaksh/models.py4
-rw-r--r--yaksh/templates/yaksh/user_data.html8
-rw-r--r--yaksh/views.py2
3 files changed, 10 insertions, 4 deletions
diff --git a/yaksh/models.py b/yaksh/models.py
index 6e1744c..4fd6967 100644
--- a/yaksh/models.py
+++ b/yaksh/models.py
@@ -1027,9 +1027,9 @@ class AnswerPaper(models.Model):
for answer in self.answers.all():
question = answer.question
if question in q_a:
- q_a[question].append(answer)
+ q_a[question].append((answer, [e for e in json.loads(answer.error)]))
else:
- q_a[question] = [answer]
+ q_a[question] = [(answer, [e for e in json.loads(answer.error)])]
return q_a
def get_questions(self):
diff --git a/yaksh/templates/yaksh/user_data.html b/yaksh/templates/yaksh/user_data.html
index 378e7fd..856433d 100644
--- a/yaksh/templates/yaksh/user_data.html
+++ b/yaksh/templates/yaksh/user_data.html
@@ -99,7 +99,13 @@ User IP address: {{ paper.user_ip }}
{% else %}
<div class="panel panel-danger">
{% endif %}
- <div class="panel-heading">Autocheck: {{ answer.error }}</div>
+ <div class="panel-heading">
+ {% for error in error %}
+ <div class="panel-body">
+ <pre><code>{{ error }}</code></pre>
+ </div>
+ {% endfor %}
+ </div>
<div class="panel-body"><pre><code>{{ answer.answer.strip }}</code></pre></div>
</div>
{% endif %}
diff --git a/yaksh/views.py b/yaksh/views.py
index c330a75..b92b3fe 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -1044,7 +1044,7 @@ def grade_user(request, quiz_id=None, user_id=None, attempt_number=None):
if request.method == "POST":
papers = data['papers']
for paper in papers:
- for question, answers in six.iteritems(paper.get_question_answers()):
+ for question, answers, errors in six.iteritems(paper.get_question_answers()):
marks = float(request.POST.get('q%d_marks' % question.id, 0))
answers = answers[-1]
answers.set_marks(marks)