Enhance submission tracking by adding first and last name data attributes for candidates, improving badge tooltip information in the submitted candidates list.

This commit is contained in:
Ross
2026-01-05 11:25:10 +00:00
parent 457fb06dc0
commit 96e88c05a4
3 changed files with 38 additions and 8 deletions
+17 -3
View File
@@ -56,7 +56,7 @@ from reversion.views import RevisionMixin
from atlas.models import CaseCollection, CaseDetail
from generic.decorators import user_is_cid_user_manager
from generic.filters import CidUserFilter, ExaminationFilter, SupervisorFilter
from generic.models import UserUserGroup
from generic.models import UserUserGroup, CidUserExam
from generic.tables import (
CidUserExamTable,
@@ -2335,9 +2335,23 @@ class ExamViews(View, LoginRequiredMixin):
if request.user not in exam.author.all() and not request.user.is_superuser:
raise PermissionDenied
user_exam_data = exam.cid_users.all().prefetch_related("cid_user", "user_user")
# Explicitly query the CidUserExam entries for this exam to avoid any
# ambiguity from GenericRelation managers and to ensure we only return
# submissions that belong to this exam instance.
from django.contrib.contenttypes.models import ContentType
return render(request, "generic/partials/exam_cids_submitted_list.html", {"user_exam_data": user_exam_data, "exam": exam})
ct = ContentType.objects.get_for_model(self.Exam)
user_exam_data = (
CidUserExam.objects.filter(content_type=ct, object_id=exam.pk)
.select_related("cid_user", "user_user")
.order_by("start_time")
)
return render(
request,
"generic/partials/exam_cids_submitted_list.html",
{"user_exam_data": user_exam_data, "exam": exam},
)
# def exam_groups_edit(self, request, exam_id):
# exam = get_object_or_404(self.Exam, pk=exam_id)