aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--forms.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/forms.py b/forms.py
index 0d823eb..fbd6d02 100644
--- a/forms.py
+++ b/forms.py
@@ -39,3 +39,17 @@ class QSJPSForm(forms.Form):
self.fields["day"].initial = tz_now()
self.fields["begin"].initial = tz_now().strftime("%H:%M")
self.fields["end"].initial = (tz_now() + timedelta(hours=1)).strftime("%H:%M")
+
+ def clean(self):
+ form_data = self.cleaned_data
+
+ # On vérifie que les valeurs de début et de fin sont correctes
+ # (si ce n’est pas le cas, elles ne se trouvent pas dans le
+ # dictionnaire), et, le cas échéant, on vérifie que l’heure de
+ # début est strictement inférieure à l’heure de fin.
+ if "begin" in form_data and "end" in form_data and \
+ form_data["begin"] >= form_data["end"]:
+ # Si l’heure de fin est plus petite ou égale, on affiche
+ # une erreur.
+ self._errors["end"].append("L’heure de début doit être supérieure à celle de fin.")
+ return form_data