From bbcbc02e0d6767a8bdb1f51099f8fda063f3dc41 Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 22 May 2022 18:14:03 +0100 Subject: [PATCH] . --- anatomy/templates/anatomy/exam_form.html | 2 +- longs/templates/longs/exam_form.html | 2 +- physics/templates/physics/exam_form.html | 2 +- rapids/templates/rapids/exam_form.html | 3 +- rapids/views.py | 43 +++++++++--------------- sbas/templates/sbas/exam_form.html | 2 +- 6 files changed, 22 insertions(+), 32 deletions(-) diff --git a/anatomy/templates/anatomy/exam_form.html b/anatomy/templates/anatomy/exam_form.html index e057d60e..0131ad79 100755 --- a/anatomy/templates/anatomy/exam_form.html +++ b/anatomy/templates/anatomy/exam_form.html @@ -1,4 +1,4 @@ -{% extends "anatomy/base.html" %} +{% extends "anatomy/exams.html" %} {% block js %} {{ form.media }} diff --git a/longs/templates/longs/exam_form.html b/longs/templates/longs/exam_form.html index a7f5fcf3..50f662ed 100755 --- a/longs/templates/longs/exam_form.html +++ b/longs/templates/longs/exam_form.html @@ -1,4 +1,4 @@ -{% extends "longs/base.html" %} +{% extends "longs/exams.html" %} {% block js %} {{ form.media }} diff --git a/physics/templates/physics/exam_form.html b/physics/templates/physics/exam_form.html index 5ed0de54..30eb27e1 100755 --- a/physics/templates/physics/exam_form.html +++ b/physics/templates/physics/exam_form.html @@ -1,4 +1,4 @@ -{% extends "physics/base.html" %} +{% extends "physics/exams.html" %} {% block js %} {{ form.media }} diff --git a/rapids/templates/rapids/exam_form.html b/rapids/templates/rapids/exam_form.html index 4452c97d..72bca3df 100755 --- a/rapids/templates/rapids/exam_form.html +++ b/rapids/templates/rapids/exam_form.html @@ -1,10 +1,11 @@ -{% extends "rapids/base.html" %} +{% extends "rapids/exams.html" %} {% block js %} {{ form.media }} {% endblock %} {% block content %} +

Add Exam

{% csrf_token %} diff --git a/rapids/views.py b/rapids/views.py index 61984fea..afd5d362 100755 --- a/rapids/views.py +++ b/rapids/views.py @@ -42,12 +42,7 @@ from .models import ( CidUserAnswer, ) -from generic.views import ( - AuthorRequiredMixin, - ExamCloneMixin, - ExamViews, - GenericViewBase, -) +from generic.views import AuthorRequiredMixin, ExamCloneMixin, ExamViews, GenericViewBase from reversion.views import RevisionMixin @@ -355,8 +350,8 @@ class RapidUpdate( def form_valid(self, form): # save exam orders (there must be a better way to do this) - # exam_orders = {} - # for exam in self.object.exams.all(): + #exam_orders = {} + #for exam in self.object.exams.all(): # exam_orders[exam] = list(exam.exam_questions.all()) self.object = form.save(commit=False) @@ -376,8 +371,8 @@ class RapidUpdate( answer_formset.save() # restore exam orders - # wanted_exams = form["exams"].data - # for exam in self.object.exams.all(): + #wanted_exams = form["exams"].data + #for exam in self.object.exams.all(): # if exam in exam_orders and self.object in exam_orders[exam]: # print(exam_orders[exam]) # exam.exam_questions.set(exam_orders[exam]) @@ -514,6 +509,7 @@ class RapidView(LoginRequiredMixin, SingleTableMixin, FilterView): filterset_class = RapidFilter + @login_required def mark_all(request, exam_pk, sk): return mark(request, exam_pk, sk, unmarked_exam_answers_only=False) @@ -677,6 +673,7 @@ def mark(request, exam_pk, sk, unmarked_exam_answers_only=True, review=False): ) + def exam_scores_cid_user(request, pk, cid, passcode): exam = get_object_or_404(Exam, pk=pk) @@ -685,15 +682,13 @@ def exam_scores_cid_user(request, pk, cid, passcode): # TODO:Need some kind of test for cid - questions = ( - exam.exam_questions.all() - ) # .prefetch_related("cid_user_answers", "answers") + questions = exam.exam_questions.all()#.prefetch_related("cid_user_answers", "answers") - # cid_user_answers = list(CidUserAnswer.objects.filter(cid=cid, exam__id=pk).prefetch_related("question")) + #cid_user_answers = list(CidUserAnswer.objects.filter(cid=cid, exam__id=pk).prefetch_related("question")) - # cid_user_answers_q_map = {} + #cid_user_answers_q_map = {} - # for ans in cid_user_answers: + #for ans in cid_user_answers: # cid_user_answers_q_map[ans.question] = ans answers_and_marks = [] @@ -707,7 +702,7 @@ def exam_scores_cid_user(request, pk, cid, passcode): for q in questions: # Get user answer user_answer = q.cid_user_answers.filter(cid=cid, exam__id=pk).first() - # user_answer = cid_user_answers_q_map[q] + #user_answer = cid_user_answers_q_map[q] if not user_answer or user_answer is None: # skip if no answer @@ -767,7 +762,9 @@ class QuestionDelete(AuthorOrCheckerRequiredMixin, DeleteView): success_url = reverse_lazy("rapids:rapid_view") -GenericExamViews = ExamViews(Exam, Rapid, Answer, CidUserAnswer, "rapids", "rapid") +GenericExamViews = ExamViews( + Exam, Rapid, Answer, CidUserAnswer, "rapids", "rapid" +) class ExamCreate(RevisionMixin, LoginRequiredMixin, CreateView): @@ -796,24 +793,18 @@ class ExamUpdate( return super().form_valid(form) - -class ExamAuthorUpdate( - RevisionMixin, LoginRequiredMixin, AuthorRequiredMixin, UpdateView -): +class ExamAuthorUpdate(RevisionMixin, LoginRequiredMixin, AuthorRequiredMixin, UpdateView): model = Exam form_class = ExamAuthorForm - class ExamDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView): model = Exam template_name = "exam_confirm_delete.html" success_url = reverse_lazy("rapids:index") - class UserAnswerView(LoginRequiredMixin, DetailView): model = CidUserAnswer - class UserAnswerTableView(LoginRequiredMixin, SingleTableMixin, FilterView): model = CidUserAnswer table_class = RapidUserAnswerTable @@ -930,7 +921,6 @@ class RapidLateralityViewSet( GenericViews = GenericViewBase("rapids", Rapid, CidUserAnswer, Exam) - @user_is_author_or_rapid_checker def question_anonymise_dicom(request, pk): question = get_object_or_404(Rapid, pk=pk) @@ -939,7 +929,6 @@ def question_anonymise_dicom(request, pk): return redirect("rapids:question_detail", pk=pk) - @user_is_author_or_rapid_checker def question_save_annotation(request, pk): if request.is_ajax() and request.method == "POST": diff --git a/sbas/templates/sbas/exam_form.html b/sbas/templates/sbas/exam_form.html index 4014a0b2..68d08070 100755 --- a/sbas/templates/sbas/exam_form.html +++ b/sbas/templates/sbas/exam_form.html @@ -1,4 +1,4 @@ -{% extends "sbas/base.html" %} +{% extends "sbas/exams.html" %} {% block js %} {{ form.media }}