From 66ee0552653ee139491d5166d20f8bce7a5c835a Mon Sep 17 00:00:00 2001 From: ankitjavalkar Date: Fri, 18 Nov 2016 16:24:45 +0530 Subject: Render output errors properly in grade user --- yaksh/models.py | 4 ++-- yaksh/templates/yaksh/user_data.html | 8 +++++++- yaksh/views.py | 2 +- 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 %}
{% endif %} -
Autocheck: {{ answer.error }}
+
+ {% for error in error %} +
+
{{ error }}
+
+ {% endfor %} +
{{ answer.answer.strip }}
{% 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) -- cgit