From 21f85c3cac138b3f332a3de9f0fbe76f745fadd0 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 29 Jul 2024 12:44:31 +0100 Subject: [PATCH] . --- generic/admin.py | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/generic/admin.py b/generic/admin.py index 5e47d5a8..f60812d6 100644 --- a/generic/admin.py +++ b/generic/admin.py @@ -58,9 +58,9 @@ admin.site.register(ExamCollection) class ExamListFilter(admin.SimpleListFilter): - #title = "Long Exams" - #parameter_name = "exam" - #exam_model = None + # title = "Long Exams" + # parameter_name = "exam" + # exam_model = None def __init__(self, request, params, model, model_admin): self.parameter_name = self.related_field_name @@ -71,43 +71,60 @@ class ExamListFilter(admin.SimpleListFilter): def queryset(self, request, queryset): if self.value(): - #return queryset.filter(longs_exams__id=self.value()) + # return queryset.filter(longs_exams__id=self.value()) kwargs = {f"{self.related_field_name}__id": self.value()} return queryset.filter(**kwargs) return queryset + class LongExamListFilter(ExamListFilter): title = "Long Exams" related_field_name = "longs_exams" exam_model = LongExam + class RapidExamListFilter(ExamListFilter): title = "Rapid Exams" related_field_name = "rapids_exams" exam_model = RapidExam + class AnatomyExamListFilter(ExamListFilter): title = "Anatomy Exams" related_field_name = "anatomy_exams" exam_model = AnatomyExam + class PhysicsExamListFilter(ExamListFilter): title = "Physics Exams" related_field_name = "physics_exams" exam_model = PhysicsExam + class SbasExamListFilter(ExamListFilter): title = "Sbas Exams" related_field_name = "sbas_exams" exam_model = SbasExam + class AtlasExamListFilter(ExamListFilter): title = "Atlas Exams" related_field_name = "atlas_exams" exam_model = AtlasExam + class CidUserExamAdmin(admin.ModelAdmin): - list_filter = ("cid_user", "user_user", "completed") + list_filter = ( + "cid_user", + "user_user", + "completed", + LongExamListFilter, + RapidExamListFilter, + AnatomyExamListFilter, + PhysicsExamListFilter, + SbasExamListFilter, + AtlasExamListFilter, + ) def get_queryset(self, request): qs = ( @@ -118,7 +135,6 @@ class CidUserExamAdmin(admin.ModelAdmin): return qs - admin.site.register(CidUserExam, CidUserExamAdmin) @@ -134,10 +150,16 @@ class ExamUserStatusAdmin(admin.ModelAdmin): PhysicsExamListFilter, SbasExamListFilter, AtlasExamListFilter, - ) - exclude = ("anatomy_exams", "longs_exams", "rapids_exams", "physics_exams", "sbas_exams", "atlas_exams") + exclude = ( + "anatomy_exams", + "longs_exams", + "rapids_exams", + "physics_exams", + "sbas_exams", + "atlas_exams", + ) readonly_fields = ("cid_user_exam",)