From 060590f2b7ea11a23b5262b35a57087bc347c33e Mon Sep 17 00:00:00 2001 From: Julien Castets Date: Sun, 2 Feb 2025 22:51:04 +0100 Subject: [PATCH] admin relais: filter deleted at vehicules --- mesads/vehicules_relais/admin.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mesads/vehicules_relais/admin.py b/mesads/vehicules_relais/admin.py index 318aee7..54bb2e4 100644 --- a/mesads/vehicules_relais/admin.py +++ b/mesads/vehicules_relais/admin.py @@ -122,6 +122,24 @@ def vehicules_link(self, obj): return mark_safe(f'Voir les {obj.vehicule_count} véhicules') +class VehiculeDeletedAtFilter(admin.SimpleListFilter): + title = "Filtrer les véhicules supprimés" + parameter_name = "deleted_at" # URL query parameter + + def lookups(self, request, model_admin): + return ( + ("deleted", "Supprimés"), + ("active", "Actifs"), + ) + + def queryset(self, request, queryset): + if self.value() == "deleted": + return queryset.exclude(deleted_at__isnull=True) + if self.value() == "active": + return queryset.filter(deleted_at__isnull=True) + return queryset + + @admin.register(Vehicule) class VehiculeAdmin(admin.ModelAdmin): def get_queryset(self, request): @@ -172,7 +190,7 @@ def get_queryset(self, request): "commune_localisation", ) - list_filter = ("departement",) + list_filter = ("departement", VehiculeDeletedAtFilter) @admin.register(DispositionSpecifique)