diff options
-rw-r--r-- | forms.py | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -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 |