Updated admin with new filters
This commit is contained in:
parent
ddcc6af4bd
commit
d52d2ad78b
1 changed files with 35 additions and 8 deletions
|
|
@ -2,7 +2,7 @@ from django.contrib import admin
|
|||
from django.db.models import Sum
|
||||
from django.db.models.functions import Coalesce
|
||||
|
||||
from .models import Activity, House, PointsEntry, UserEntry
|
||||
from .models import Activity, House, Teacher, PointsEntry, UserEntry
|
||||
|
||||
|
||||
@admin.register(Activity)
|
||||
|
|
@ -13,24 +13,24 @@ class ActivityAdmin(admin.ModelAdmin):
|
|||
'fields': ['quota', 'time']}),
|
||||
]
|
||||
|
||||
list_display = ['name', 'time', 'quota', 'hawk_signups',
|
||||
list_display = ['name', 'time', 'quota', 'teacher', 'hawk_signups',
|
||||
'great_grey_signups', 'snowy_signups', 'eagle_signups']
|
||||
|
||||
@admin.display(description='Hawk Signups')
|
||||
def hawk_signups(self, obj):
|
||||
return str(UserEntry.hawk.filterActivity1(obj).count()) + " / " + str((UserEntry.hawk.filterActivity2(obj).count(), "N/A")[obj.time == 60])
|
||||
return str(UserEntry.hawk.filterActivity1(obj).count()) + " | " + str((UserEntry.hawk.filterActivity2(obj).count(), "-")[obj.time == 60])
|
||||
|
||||
@admin.display(description='Great Grey Signups')
|
||||
def great_grey_signups(self, obj):
|
||||
return str(UserEntry.great_grey.filterActivity1(obj).count()) + " / " + str((UserEntry.great_grey.filterActivity2(obj).count(), "N/A")[obj.time == 60])
|
||||
return str(UserEntry.great_grey.filterActivity1(obj).count()) + " | " + str((UserEntry.great_grey.filterActivity2(obj).count(), "-")[obj.time == 60])
|
||||
|
||||
@admin.display(description='Snowy Signups')
|
||||
def snowy_signups(self, obj):
|
||||
return str(UserEntry.snowy.filterActivity1(obj).count()) + " / " + str((UserEntry.snowy.filterActivity2(obj).count(), "N/A")[obj.time == 60])
|
||||
return str(UserEntry.snowy.filterActivity1(obj).count()) + " | " + str((UserEntry.snowy.filterActivity2(obj).count(), "-")[obj.time == 60])
|
||||
|
||||
@admin.display(description='Eagle Signups')
|
||||
def eagle_signups(self, obj):
|
||||
return str(UserEntry.eagle.filterActivity1(obj).count()) + " / " + str((UserEntry.eagle.filterActivity2(obj).count(), "N/A")[obj.time == 60])
|
||||
return str(UserEntry.eagle.filterActivity1(obj).count()) + " | " + str((UserEntry.eagle.filterActivity2(obj).count(), "-")[obj.time == 60])
|
||||
|
||||
|
||||
@admin.register(House)
|
||||
|
|
@ -46,6 +46,18 @@ class HouseAdmin(admin.ModelAdmin):
|
|||
return self.current_points(obj) + obj.points
|
||||
|
||||
|
||||
@admin.register(Teacher)
|
||||
class TeacherAdmin(admin.ModelAdmin):
|
||||
fieldsets = [
|
||||
('Personal Information', {'fields': [
|
||||
'first_name', 'last_name']}),
|
||||
('House Wars Information', {
|
||||
'fields': ['grade', 'house', 'activity']}),
|
||||
]
|
||||
|
||||
list_display = ('first_name', 'last_name', 'grade', 'activity')
|
||||
|
||||
|
||||
@admin.register(UserEntry)
|
||||
class EntryAdmin(admin.ModelAdmin):
|
||||
fieldsets = [
|
||||
|
|
@ -56,9 +68,24 @@ class EntryAdmin(admin.ModelAdmin):
|
|||
]
|
||||
|
||||
list_display = ('first_name', 'last_name',
|
||||
'house', 'activity1', 'activity2')
|
||||
'house', 'activity1', 'activity1_teacher', 'activity2', 'activity2_teacher')
|
||||
|
||||
list_filter = ['house', 'grade', 'activity1', 'activity2']
|
||||
list_filter = ['house', 'grade', 'activity1',
|
||||
'activity1__teacher', 'activity2', 'activity2__teacher']
|
||||
|
||||
@admin.display(description='Activity 1 Teacher')
|
||||
def activity1_teacher(self, obj):
|
||||
if (obj.activity1 == None):
|
||||
return None
|
||||
|
||||
return obj.activity1.teacher
|
||||
|
||||
@admin.display(description='Activity 2 Teacher')
|
||||
def activity2_teacher(self, obj):
|
||||
if (obj.activity2 == None):
|
||||
return None
|
||||
|
||||
return obj.activity2.teacher
|
||||
|
||||
|
||||
@admin.register(PointsEntry)
|
||||
|
|
|
|||
Reference in a new issue