.
This commit is contained in:
+30
-8
@@ -58,9 +58,9 @@ admin.site.register(ExamCollection)
|
|||||||
|
|
||||||
|
|
||||||
class ExamListFilter(admin.SimpleListFilter):
|
class ExamListFilter(admin.SimpleListFilter):
|
||||||
#title = "Long Exams"
|
# title = "Long Exams"
|
||||||
#parameter_name = "exam"
|
# parameter_name = "exam"
|
||||||
#exam_model = None
|
# exam_model = None
|
||||||
|
|
||||||
def __init__(self, request, params, model, model_admin):
|
def __init__(self, request, params, model, model_admin):
|
||||||
self.parameter_name = self.related_field_name
|
self.parameter_name = self.related_field_name
|
||||||
@@ -71,43 +71,60 @@ class ExamListFilter(admin.SimpleListFilter):
|
|||||||
|
|
||||||
def queryset(self, request, queryset):
|
def queryset(self, request, queryset):
|
||||||
if self.value():
|
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()}
|
kwargs = {f"{self.related_field_name}__id": self.value()}
|
||||||
return queryset.filter(**kwargs)
|
return queryset.filter(**kwargs)
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
class LongExamListFilter(ExamListFilter):
|
class LongExamListFilter(ExamListFilter):
|
||||||
title = "Long Exams"
|
title = "Long Exams"
|
||||||
related_field_name = "longs_exams"
|
related_field_name = "longs_exams"
|
||||||
exam_model = LongExam
|
exam_model = LongExam
|
||||||
|
|
||||||
|
|
||||||
class RapidExamListFilter(ExamListFilter):
|
class RapidExamListFilter(ExamListFilter):
|
||||||
title = "Rapid Exams"
|
title = "Rapid Exams"
|
||||||
related_field_name = "rapids_exams"
|
related_field_name = "rapids_exams"
|
||||||
exam_model = RapidExam
|
exam_model = RapidExam
|
||||||
|
|
||||||
|
|
||||||
class AnatomyExamListFilter(ExamListFilter):
|
class AnatomyExamListFilter(ExamListFilter):
|
||||||
title = "Anatomy Exams"
|
title = "Anatomy Exams"
|
||||||
related_field_name = "anatomy_exams"
|
related_field_name = "anatomy_exams"
|
||||||
exam_model = AnatomyExam
|
exam_model = AnatomyExam
|
||||||
|
|
||||||
|
|
||||||
class PhysicsExamListFilter(ExamListFilter):
|
class PhysicsExamListFilter(ExamListFilter):
|
||||||
title = "Physics Exams"
|
title = "Physics Exams"
|
||||||
related_field_name = "physics_exams"
|
related_field_name = "physics_exams"
|
||||||
exam_model = PhysicsExam
|
exam_model = PhysicsExam
|
||||||
|
|
||||||
|
|
||||||
class SbasExamListFilter(ExamListFilter):
|
class SbasExamListFilter(ExamListFilter):
|
||||||
title = "Sbas Exams"
|
title = "Sbas Exams"
|
||||||
related_field_name = "sbas_exams"
|
related_field_name = "sbas_exams"
|
||||||
exam_model = SbasExam
|
exam_model = SbasExam
|
||||||
|
|
||||||
|
|
||||||
class AtlasExamListFilter(ExamListFilter):
|
class AtlasExamListFilter(ExamListFilter):
|
||||||
title = "Atlas Exams"
|
title = "Atlas Exams"
|
||||||
related_field_name = "atlas_exams"
|
related_field_name = "atlas_exams"
|
||||||
exam_model = AtlasExam
|
exam_model = AtlasExam
|
||||||
|
|
||||||
|
|
||||||
class CidUserExamAdmin(admin.ModelAdmin):
|
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):
|
def get_queryset(self, request):
|
||||||
qs = (
|
qs = (
|
||||||
@@ -118,7 +135,6 @@ class CidUserExamAdmin(admin.ModelAdmin):
|
|||||||
return qs
|
return qs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(CidUserExam, CidUserExamAdmin)
|
admin.site.register(CidUserExam, CidUserExamAdmin)
|
||||||
|
|
||||||
|
|
||||||
@@ -134,10 +150,16 @@ class ExamUserStatusAdmin(admin.ModelAdmin):
|
|||||||
PhysicsExamListFilter,
|
PhysicsExamListFilter,
|
||||||
SbasExamListFilter,
|
SbasExamListFilter,
|
||||||
AtlasExamListFilter,
|
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",)
|
readonly_fields = ("cid_user_exam",)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user