forked from ScoDoc/ScoDoc
Assiduité : fix bug assi jour complet + affichage calendrier
This commit is contained in:
parent
185e061f01
commit
3d6be2f200
@ -336,7 +336,14 @@ def _get_dates_from_assi_form(
|
|||||||
) # 23h59 ou ConfigAssiduite.AfternoonTime
|
) # 23h59 ou ConfigAssiduite.AfternoonTime
|
||||||
else:
|
else:
|
||||||
try:
|
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:
|
except ValueError:
|
||||||
form.set_error("heure début invalide", form.heure_debut)
|
form.set_error("heure début invalide", form.heure_debut)
|
||||||
if bool(form.heure_debut.data) != bool(form.heure_fin.data):
|
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"
|
"Les deux heures début et fin doivent être spécifiées, ou aucune"
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
|
if all_day:
|
||||||
heure_fin = datetime.time.fromisoformat(form.heure_fin.data or "23:59")
|
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:
|
except ValueError:
|
||||||
form.set_error("heure fin invalide", form.heure_fin)
|
form.set_error("heure fin invalide", form.heure_fin)
|
||||||
|
|
||||||
@ -2513,7 +2523,7 @@ class Jour:
|
|||||||
else heure_soir
|
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
|
longueur: float = ((fin - deb) / longueur_timeline) * 100
|
||||||
if longueur + emplacement > 100:
|
if longueur + emplacement > 100:
|
||||||
longueur = 100 - emplacement
|
longueur = 100 - emplacement
|
||||||
|
Loading…
Reference in New Issue
Block a user