diff options
author | ankitjavalkar | 2016-11-18 16:24:45 +0530 |
---|---|---|
committer | ankitjavalkar | 2016-12-21 18:12:52 +0530 |
commit | 66ee0552653ee139491d5166d20f8bce7a5c835a (patch) | |
tree | d98e58ba8955a38c79a99c09bc215f9b4f7cdb04 | |
parent | 15de9ce5fe9d1e456bfae60090807a77c6afef0a (diff) | |
download | online_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.py | 4 | ||||
-rw-r--r-- | yaksh/templates/yaksh/user_data.html | 8 | ||||
-rw-r--r-- | 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 %} <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) |