fix a little question ordering bug

This commit is contained in:
Ross
2024-08-12 09:11:27 +01:00
parent b73b43d155
commit bd1bb54f9f
4 changed files with 22 additions and 9 deletions
+13 -2
View File
@@ -661,6 +661,8 @@ class ExamViews(View, LoginRequiredMixin):
exam_list = self.Exam.objects.filter(author__id=request.user.id, exam_mode=True).order_by(
"name"
)
exam_list = exam_list | self.Exam.objects.filter(markers__id=request.user.id, exam_mode=True).order_by("name")
else:
exam_list = self.Exam.objects.prefetch_related("valid_user_users", "valid_cid_users").filter(exam_mode=True).order_by("name")
@@ -946,6 +948,12 @@ class ExamViews(View, LoginRequiredMixin):
cid_candidates = exam.valid_cid_users.count()
users_candidates = exam.valid_user_users.count()
#question_orders = [q.examquestiondetail.sort_order for q in questions]
# Exam order can be missing when, this can be checked with
# exam.exam_questions.select_related().all().order_by("examquestiondetail__sort_order").values_list("examquestiondetail__sort_order")
# TODO decide if / how this should be flagged to a user (updating teh exam order will fix)
return render(
request,
@@ -1467,11 +1475,13 @@ class ExamViews(View, LoginRequiredMixin):
if not self.check_user_access(request.user, pk, marker=True):
raise PermissionDenied
question = exam.get_questions()[sk]
#question = exam.get_questions()[sk]
question = exam.get_question_by_index(sk)
exam_length = len(exam.exam_questions.all())
pos = exam.get_question_index(question) + 1
#pos = exam.get_question_index(question) + 1
pos = sk + 1
previous = -1
if sk > 0:
@@ -2510,6 +2520,7 @@ class ExamCloneMixin():
initial_data["user_user_groups"] = []
initial_data["active"] = False
initial_data["archive"] = False
initial_data["publish_results"] = False
self.exam_questions = list(questions)