Ultron/ultron/followup/admin.py

205 lines
5.6 KiB
Python

from django.contrib import admin
from django_admin_listfilter_dropdown.filters import (
DropdownFilter,
ChoiceDropdownFilter,
RelatedDropdownFilter
)
from .models import (
Plan,
Note,
Point,
Chrono,
Accident,
MindState,
HeightWeight,
LearnedSkill,
ChronoDetails,
GymnastHasRoutine,
NumberOfRoutineDone
)
class ChronoAdmin(admin.ModelAdmin):
model = Chrono
list_display = ("date", "gymnast", "tof", "chrono_type")
readonly_fields = ('season', 'week_number', 'created_at', 'updated_at')
list_filter = ("chrono_type",)
autocomplete_fields = ("gymnast",)
date_hierarchy = "date"
related_search_fields = {"gymnast": ("last_name", "first_name")}
class ChronoDetailsAdmin(admin.ModelAdmin):
model = ChronoDetails
list_display = ("chrono", "order", "value") # "chrono__gymnast",
list_filter = (
('chrono', RelatedDropdownFilter),
# ('chrono__gymnast', RelatedDropdownFilter),
)
related_search_fields = {"chrono": ("date", "chrono__gymnast__last_name", "chrono__gymnast__first_name")}
class LearnedSkillAdmin(admin.ModelAdmin):
model = LearnedSkill
list_display = ("gymnast", "skill", "learning_step", "date")
readonly_fields = ('season', 'week_number', 'created_at', 'updated_at')
list_filter = (
('gymnast', RelatedDropdownFilter),
('skill', RelatedDropdownFilter),
"learning_step"
)
search_fields = ("gymnast", "skill")
autocomplete_fields = ("gymnast", "skill")
date_hierarchy = "date"
class PointAdmin(admin.ModelAdmin):
model = Point
list_display = (
"gymnast",
"point_execution",
"point_difficulty",
"point_time_of_flight",
"total"
)
readonly_fields = ('created_at', 'updated_at')
ordering = ("gymnast",)
list_filter = (
('gymnast', RelatedDropdownFilter),
('event', RelatedDropdownFilter),
('routine_type', DropdownFilter),
)
search_fields = (
"gymnast__first_name",
"gymnast__last_name",
"event__place_name",
"event__place_city",
"event__place__country_name"
)
autocomplete_fields = ("gymnast", "event")
class AccidentAdmin(admin.ModelAdmin):
model = Accident
fields = ("date", "gymnast", "skill", "informations") # educative
readonly_fields = ('season', 'week_number', 'created_at', 'updated_at')
list_display = ("date", "gymnast", "skill") # educative
list_filter = ("date",)
date_hierarchy = "date"
search_fields = ("date", "gymnast") # educative
autocomplete_fields = ("gymnast", "skill")
class MindStateAdmin(admin.ModelAdmin):
model = MindState
fields = ("gymnast", "date", "score", "informations")
readonly_fields = ('season', 'week_number', 'created_at', 'updated_at')
list_display = ("date", "gymnast", "score")
list_filter = (
"date",
('gymnast', RelatedDropdownFilter),
)
autocomplete_fields = ("gymnast", )
date_hierarchy = "date"
class GymnastHasRoutineAdmin(admin.ModelAdmin):
model = GymnastHasRoutine
list_display = ("gymnast", "routine", "routine_type", "date_begin", "date_end")
list_filter = (
('gymnast', RelatedDropdownFilter),
('routine_type', DropdownFilter), # A supprimer ?
)
search_fields = ("gymnast", "routine")
autocomplete_fields = ("gymnast", "routine")
class NumberOfRoutineDoneAdmin(admin.ModelAdmin):
model = NumberOfRoutineDone
list_display = (
"gymnast",
"routine_type",
"date",
"number_of_successes",
"number_of_try",
)
list_filter = (
('gymnast', RelatedDropdownFilter),
('routine_type', DropdownFilter), # A supprimer ?
)
autocomplete_fields = ("gymnast", "routine")
date_hierarchy = "date"
class HeightWeightAdmin(admin.ModelAdmin):
model = HeightWeight
list_display = ("gymnast", "height", "hips_height", "weight", "date")
readonly_fields = ('season', 'week_number')
list_filter = (
('gymnast', RelatedDropdownFilter),
)
date_hierarchy = "date"
autocomplete_fields = ("gymnast",)
class PlanAdmin(admin.ModelAdmin):
model = Plan
list_display = ("gymnast", "date", "educative")
readonly_fields = ('season', 'week_number', 'created_at', 'updated_at')
list_filter = (
('gymnast', RelatedDropdownFilter),
('educative', RelatedDropdownFilter),
)
search_fields = (
"gymnast__firstname",
"gymnast__lastname",
"educative__long_label",
"educative__short_label",
)
date_hierarchy = "date"
autocomplete_fields = ("gymnast",)
class NoteAdmin(admin.ModelAdmin):
model = Note
list_display = ("gymnast", "coach")
readonly_fields = ('season', 'week_number', 'created_at', 'updated_at')
list_filter = (
('gymnast', RelatedDropdownFilter),
('coach', RelatedDropdownFilter),
)
search_fields = (
"gymnast__firstname",
"gymnast__lastname",
"coach__last_name",
"coach__first_name",
)
date_hierarchy = "created_at"
autocomplete_fields = ("gymnast",)
admin.site.register(Plan, PlanAdmin)
admin.site.register(Note, NoteAdmin)
admin.site.register(Point, PointAdmin)
admin.site.register(Chrono, ChronoAdmin)
admin.site.register(Accident, AccidentAdmin)
admin.site.register(MindState, MindStateAdmin)
admin.site.register(LearnedSkill, LearnedSkillAdmin)
admin.site.register(HeightWeight, HeightWeightAdmin)
admin.site.register(ChronoDetails, ChronoDetailsAdmin)
admin.site.register(GymnastHasRoutine, GymnastHasRoutineAdmin)
admin.site.register(NumberOfRoutineDone, NumberOfRoutineDoneAdmin)