diff options
author | Alban Gruin | 2018-09-19 21:02:00 +0200 |
---|---|---|
committer | Alban Gruin | 2018-09-19 21:02:00 +0200 |
commit | 3c8f53e8657ebc3bd2229ffe67f944d19d38d0b5 (patch) | |
tree | 5402b3b79bb379c56fcbaaca799aed6192e2899d /forms.py | |
parent | 676345434415d40363c80960484abf0295ca800a (diff) | |
parent | fd516af7aedf938cc6fb65eca556e8341a0dfd92 (diff) |
Merge branch 'stable/0.14.z' into prod/pa1ch/0.14.zv0.14.1-pa1ch
Signed-off-by: Alban Gruin <alban at pa1ch dot fr>
Diffstat (limited to 'forms.py')
-rw-r--r-- | forms.py | 23 |
1 files changed, 17 insertions, 6 deletions
@@ -37,10 +37,21 @@ class QSJPSForm(forms.Form): # On définit les valeurs par défaut de cette manière pour # éviter les mauvaises surprises. On retire les secondes des # heures de début et de fin. - self.fields["day"].initial = tz_now().strftime("%Y-%m-%d") - self.fields["begin"].initial = tz_now().strftime("%H:%M") - self.fields["end"].initial = (tz_now() + timedelta(hours=1)) \ - .strftime("%H:%M") + now = tz_now() + + self.fields["day"].initial = now.strftime("%Y-%m-%d") + self.fields["begin"].initial = now.strftime("%H:%M") + + # Si il est 23h passé, 23h + 1h revient à minuit passé, et ne + # respecte pas le critère de la recherche (début < fin). La + # valeur par défaut de la fin devient automatiquement 23:59. + if now.hour == 23: + # Cela ne marche toujours pas à 23h59. + # TODO trouver une solution plus pérenne. + self.fields["end"].initial = "23:59" + else: + self.fields["end"].initial = (now + timedelta(hours=1)) \ + .strftime("%H:%M") def clean(self): form_data = self.cleaned_data @@ -53,6 +64,6 @@ class QSJPSForm(forms.Form): 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.") + self.add_error("end", "L’heure de début doit être" + "supérieure à celle de fin.") return form_data |