.
This commit is contained in:
+30
-8
@@ -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",)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user