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)