From 8198effa10ae46a89514dac11f6bcec16eedd6b0 Mon Sep 17 00:00:00 2001 From: Ross Date: Thu, 19 Aug 2021 12:54:10 +0100 Subject: [PATCH] . --- rapids/templates/rapids/exam_scores_user.html | 4 ++-- rapids/urls.py | 2 +- rapids/views.py | 16 +++++++++------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/rapids/templates/rapids/exam_scores_user.html b/rapids/templates/rapids/exam_scores_user.html index a2157c43..da9dddd7 100644 --- a/rapids/templates/rapids/exam_scores_user.html +++ b/rapids/templates/rapids/exam_scores_user.html @@ -32,10 +32,10 @@ console.log("click", e) question_number = e.currentTarget.dataset.qn; $.ajax({ - url: `{% url 'rapids:question_review' pk=exam.pk sk=${question_number} %}`, + url: `{% url 'rapids:question_review' pk=exam.pk %}`, data: { csrfmiddlewaretoken: "{{ csrf_token }}", - active: this.checked // true if checked else false + question_number: question_number }, type: "POST", dataType: "json", diff --git a/rapids/urls.py b/rapids/urls.py index 158ccb04..2a13d2db 100755 --- a/rapids/urls.py +++ b/rapids/urls.py @@ -30,7 +30,7 @@ urlpatterns = [ name="question_user_answers", ), path( - "exam///review", + "exam//review", views.question_review, name="question_review", ), diff --git a/rapids/views.py b/rapids/views.py index 7f35783d..329b24dc 100755 --- a/rapids/views.py +++ b/rapids/views.py @@ -1132,16 +1132,18 @@ def user_answer_delete_multiple(request): return JsonResponse({"status": "error"}) -def question_review(request, pk, sk): +def question_review(request, pk): """ Return a json representation of the question when the exam is active """ - exam = get_object_or_404(Exam, pk=pk) + if request.is_ajax(): + exam = get_object_or_404(Exam, pk=pk) - if not exam.publish_results: - raise Http404 + if not exam.publish_results: + raise Http404 - question = exam.exam_questions.all()[sk] + question = exam.exam_questions.all()[request.POST["question_number"]] - question_json = question.get_question_json(based=False) - return JsonResponse(question_json) \ No newline at end of file + question_json = question.get_question_json(based=False) + return JsonResponse(question_json) + return JsonResponse({"status": "error"}) \ No newline at end of file