diff --git a/anatomy/static/css/anatomy.css b/anatomy/static/css/anatomy.css index f148e342..f1f04b18 100644 --- a/anatomy/static/css/anatomy.css +++ b/anatomy/static/css/anatomy.css @@ -280,4 +280,24 @@ img.uploading:hover { #annotation-json-content { display: none; +} + +.user-answer-score-0 { + color: red; +} + +.user-answer-score-1 { + color: greenyellow; +} + +.user-answer-score-2 { + color: green; +} + +.correct-answer { + color: white; +} + +.user-answer-li { + padding-top: 10px; } \ No newline at end of file diff --git a/anatomy/templates/anatomy/base.html b/anatomy/templates/anatomy/base.html index daaa6d5a..f7e39d36 100644 --- a/anatomy/templates/anatomy/base.html +++ b/anatomy/templates/anatomy/base.html @@ -39,9 +39,11 @@ {% endif %}
+ {% if request.user.is_authenticated %} Exams / Questions / Create Question + {% endif %} {% block navigation %} {% endblock %}
diff --git a/anatomy/templates/anatomy/cid_selector.html b/anatomy/templates/anatomy/cid_selector.html new file mode 100644 index 00000000..20c95ce6 --- /dev/null +++ b/anatomy/templates/anatomy/cid_selector.html @@ -0,0 +1,18 @@ +{% extends 'anatomy/base.html' %} + +{% block content %} +
+

Please enter your CID

+

CID:

+ +
+ +{% endblock %} diff --git a/anatomy/templates/anatomy/exam_scores_user.html b/anatomy/templates/anatomy/exam_scores_user.html index 1bbce2f1..cc51542d 100644 --- a/anatomy/templates/anatomy/exam_scores_user.html +++ b/anatomy/templates/anatomy/exam_scores_user.html @@ -4,12 +4,15 @@

Exam: {{ exam.name }}

Candidate: {{ cid }}

- Answers: + Answers:
    {% for ans, score, correct_answer in answers_and_marks %} -
  • Question {{forloop.counter}}: {{ correct_answer }}
  • - {{ans}} ({{score}}), - {% endfor %} +
  • Question {{forloop.counter}} - Correct answer: {{ correct_answer }}
  • + {{ans}} ({{score}}) + {% endfor %}
-
Total mark: {{ total_score }} +
Total mark: {{ total_score }} / {{max_score}} +
+ Other exams +
-{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/anatomy/urls.py b/anatomy/urls.py index 6134cf6f..0c174fd2 100644 --- a/anatomy/urls.py +++ b/anatomy/urls.py @@ -28,7 +28,8 @@ urlpatterns = [ path("exam/json/", views.active_exams, name="active_exams"), path("exam/json/", views.exam_json, name="exam_json"), path("exam/json//recreate", views.exam_json_recreate, name="exam_json_recreate"), - path("cid//scores", views.cid_scores, name="cid_scores"), + path("cid/", views.cid_scores, name="cid_scores"), + path("cid/", views.cid_selector, name="cid_selector"), path("ajax/exam/flag/", views.flag_question, name="flag_question"), path("body_part/create/", views.create_body_part, name="create_body_part"), path("body_part/ajax/get_body_part_id", diff --git a/anatomy/views.py b/anatomy/views.py index 175b28b0..fbd853c6 100644 --- a/anatomy/views.py +++ b/anatomy/views.py @@ -656,11 +656,12 @@ def exam_scores_cid_user(request, pk, sk): # skip if no answer answers_marks.append(0) answers.append("") - continue + answer_score = 0 + ans = "Not answered" + else: + ans = user_answer.answer - ans = user_answer.answer - - answer_score = user_answer.get_answer_score() + answer_score = user_answer.get_answer_score() correct_answer = q.GetPrimaryAnswer() answers.append(ans) @@ -669,7 +670,7 @@ def exam_scores_cid_user(request, pk, sk): total_score = sum(answers_marks) - total = len(questions) + max_score = len(questions) * 2 return render( request, @@ -681,10 +682,16 @@ def exam_scores_cid_user(request, pk, sk): "answers": answers, "answers_marks": answers_marks, "total_score": total_score, + "max_score": max_score, "answers_and_marks": answers_and_marks, }, ) +def cid_selector(request): + return render( + request, + "anatomy/cid_selector.html", + ) @login_required def exam_scores(request, pk): @@ -748,7 +755,7 @@ def cid_scores(request, pk): if not answers: - return Http404("cid not found") + raise Http404("cid not found") exam_ids = answers.values_list("exam").distinct()