From e3c88165c77863d2a713e5f01493605892d0965a Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Mon, 11 Nov 2024 00:05:46 +0100 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20du=20filtre=20par=20distanc?= =?UTF-8?q?e.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Voir #185 --- src/agenda_culturel/views.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index 7f663f3..16136cd 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -175,16 +175,20 @@ class EventFilter(django_filters.FilterSet): ("only_recurrent", "Montrer uniquement les événements récurrents"), ] + DISTANCE_CHOICES = [5, 10, 15, 30] + position = django_filters.ModelChoiceFilter( label="À proximité de", method="no_filter", queryset=ReferenceLocation.objects.all().order_by("-main", "name__unaccent") ) - radius = django_filters.NumberFilter( - label="Distance maximum (km)", + radius = django_filters.ChoiceFilter( + label="Dans un rayon de", method="no_filter", - widget=forms.NumberInput(attrs={"min": "1"}) + choices=[(x, str(x) + " km") for x in DISTANCE_CHOICES], + null_label=None, + empty_label=None ) exclude_tags = django_filters.MultipleChoiceFilter(