From 3d6be2f2000bbb38827670ef6b1546040c8d85a2 Mon Sep 17 00:00:00 2001 From: Iziram Date: Wed, 28 Feb 2024 10:50:15 +0100 Subject: [PATCH] =?UTF-8?q?Assiduit=C3=A9=20:=20fix=20bug=20assi=20jour=20?= =?UTF-8?q?complet=20+=20affichage=20calendrier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/assiduites.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/views/assiduites.py b/app/views/assiduites.py index fc562d69..8a8fee7e 100644 --- a/app/views/assiduites.py +++ b/app/views/assiduites.py @@ -336,7 +336,14 @@ def _get_dates_from_assi_form( ) # 23h59 ou ConfigAssiduite.AfternoonTime else: try: - heure_debut = datetime.time.fromisoformat(form.heure_debut.data or "00:00") + if all_day: + heure_debut = datetime.time.fromisoformat( + form.heure_debut.data or "00:00" + ) + else: + heure_debut = datetime.time.fromisoformat( + form.heure_debut.data or debut_jour + ) except ValueError: form.set_error("heure début invalide", form.heure_debut) if bool(form.heure_debut.data) != bool(form.heure_fin.data): @@ -344,7 +351,10 @@ def _get_dates_from_assi_form( "Les deux heures début et fin doivent être spécifiées, ou aucune" ) try: - heure_fin = datetime.time.fromisoformat(form.heure_fin.data or "23:59") + if all_day: + heure_fin = datetime.time.fromisoformat(form.heure_fin.data or "23:59") + else: + heure_fin = datetime.time.fromisoformat(form.heure_fin.data or fin_jour) except ValueError: form.set_error("heure fin invalide", form.heure_fin) @@ -2513,7 +2523,7 @@ class Jour: else heure_soir ) - emplacement: float = ((deb - heure_matin) / longueur_timeline) * 100 + emplacement: float = max(((deb - heure_matin) / longueur_timeline) * 100, 0) longueur: float = ((fin - deb) / longueur_timeline) * 100 if longueur + emplacement > 100: longueur = 100 - emplacement