From d7276ca9f01bad29e0c957d6720df71077ee52bb Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Sat, 3 Jul 2021 18:54:58 +0200 Subject: [PATCH] Set main choice between plat and dessert --- recette/forms.py | 10 ++++++---- recette/views.py | 2 +- templates/index.html | 11 ++++++++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/recette/forms.py b/recette/forms.py index 85984b2..c1fe2fe 100644 --- a/recette/forms.py +++ b/recette/forms.py @@ -11,16 +11,18 @@ class SearchForm(forms.Form): label="Texte", required=False ) saison = forms.ChoiceField(choices=(('all', "Toutes"),) + Recette.SAISON_CHOICES) + type_princ = forms.ChoiceField( + label='', + choices=(('plat', 'Plat principal'), ('dessert', 'Dessert')), + widget=forms.RadioSelect + ) veget = forms.BooleanField(label="Végétarien", required=False) - dessert = forms.BooleanField(label="Dessert", required=False) def search(self): if self.is_valid(): - qs = Recette.objects.all() + qs = Recette.objects.filter(is_dessert=self.cleaned_data['type_princ'] == 'dessert') if self.cleaned_data['veget']: qs = qs.filter(is_veget=True) - if self.cleaned_data['dessert']: - qs = qs.filter(is_dessert=True) if self.cleaned_data['text']: terms = [t for t in self.cleaned_data['text'].split() if t not in STOP_WORDS] for term in terms: diff --git a/recette/views.py b/recette/views.py index 14c4185..4231b82 100644 --- a/recette/views.py +++ b/recette/views.py @@ -5,7 +5,7 @@ from .models import Recette def home(request): - form = SearchForm(request.POST or None) + form = SearchForm(request.POST or None, initial={'type_princ': 'plat'}) recettes = [] num_results = None if request.method == 'POST': diff --git a/templates/index.html b/templates/index.html index 882cdd4..272a058 100644 --- a/templates/index.html +++ b/templates/index.html @@ -5,12 +5,17 @@ {% block extrahead %} {% endblock %}