fix question ordering through mark systems

This commit is contained in:
Ross
2024-08-05 10:00:59 +01:00
parent a304c0b4dc
commit cff5a46e4c
14 changed files with 71 additions and 288 deletions
+24 -31
View File
@@ -248,7 +248,7 @@ def mark(request, exam_pk, sk, unmarked_exam_answers_only=True, review=False):
elif not unmarked_exam_answers_only:
mark_url = "anatomy:mark_all"
questions = exam.exam_questions.all().prefetch_related("answers")
questions = exam.get_questions().prefetch_related("answers")
n = sk
@@ -383,28 +383,28 @@ def mark(request, exam_pk, sk, unmarked_exam_answers_only=True, review=False):
)
@login_required
def exam_scores_refresh(request, pk):
exam = get_object_or_404(Exam, pk=pk)
if not exam.exam_mode:
raise Http404("Packet not in exam mode")
questions = exam.exam_questions.all()
cids = UserAnswer.objects.filter(question__in=questions, exam__id=pk)
# Force a score update
for c in cids:
c.get_answer_score(cached=False)
return render(
request,
"anatomy/base.html",
{
"simple_content": "Answer scores updated",
},
)
#@login_required
#def exam_scores_refresh(request, pk):
# exam = get_object_or_404(Exam, pk=pk)
#
# if not exam.exam_mode:
# raise Http404("Packet not in exam mode")
#
# questions = exam.exam_questions.all() # Don't worry about order here
#
# cids = UserAnswer.objects.filter(question__in=questions, exam__id=pk)
#
# # Force a score update
# for c in cids:
# c.get_answer_score(cached=False)
#
# return render(
# request,
# "anatomy/base.html",
# {
# "simple_content": "Answer scores updated",
# },
# )
def exam_scores_cid_user(request, pk, cid, passcode):
@@ -416,7 +416,7 @@ def exam_scores_cid_user(request, pk, cid, passcode):
if not exam.check_cid_user(cid, passcode, request.user):
raise Http404("Error accessing exam")
questions = exam.exam_questions.all()
questions = exam.get_questions().prefetch_related("answers")
answers_and_marks = []
answers_marks = []
@@ -615,13 +615,6 @@ class AnatomyQuestionUpdate(RevisionMixin, AuthorOrCheckerRequiredMixin, UpdateV
return context
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[exam] = list(exam.exam_questions.all())
# print(exam_orders[exam])
self.object = form.save(commit=False)
self.object.save()