from django.contrib import admin from django_admin_listfilter_dropdown.filters import ( DropdownFilter, ChoiceDropdownFilter, RelatedDropdownFilter ) from .models import ( Chrono, ChronoDetails, LearnedSkill, Point, Accident, MindState, GymnastHasRoutine, NumberOfRoutineDone, HeightWeight, Plan ) class ChronoAdmin(admin.ModelAdmin): model = Chrono list_display = ("date", "gymnast", "tof", "chrono_type") 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", "cando", "date") list_filter = ( ('gymnast', RelatedDropdownFilter), ('skill', RelatedDropdownFilter), "cando" ) 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", "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 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") 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", "datebegin", "dateend") 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") list_filter = ( ('gymnast', RelatedDropdownFilter), ) date_hierarchy = "date" autocomplete_fields = ("gymnast",) class PlanAdmin(admin.ModelAdmin): model = Plan list_display = ("gymnast", "date", "educative") list_filter = ( ('gymnast', RelatedDropdownFilter), ('educative', RelatedDropdownFilter), ) search_fields = ( "gymnast__firstname", "gymnast__lastname", "educative__long_label", "educative__short_label", ) date_hierarchy = "date" autocomplete_fields = ("gymnast",) admin.site.register(Plan, PlanAdmin) 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)