From fc69bcf70a01c4cea7eea918e5ce7040a6e18ee0 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Wed, 6 Dec 2023 17:13:44 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20calendrier=20assiduit=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/templates/assiduites/pages/calendrier.j2 | 11 +++++++---- .../pages/{etat_absence_date.j2 => etat_abs_date.j2} | 0 app/views/assiduites.py | 6 +++--- 3 files changed, 10 insertions(+), 7 deletions(-) rename app/templates/assiduites/pages/{etat_absence_date.j2 => etat_abs_date.j2} (100%) diff --git a/app/templates/assiduites/pages/calendrier.j2 b/app/templates/assiduites/pages/calendrier.j2 index 1b3b59a4..eff9fe86 100644 --- a/app/templates/assiduites/pages/calendrier.j2 +++ b/app/templates/assiduites/pages/calendrier.j2 @@ -385,7 +385,7 @@ let dayAssiduities = assiduities.filter((assiduity) => { return new Date(date).isBetween( new Date(assiduity.date_debut).startOf("day"), - new Date(assiduity.date_fin).startOf("day"), + new Date(assiduity.date_fin).endOf("day"), "[]" ) }); @@ -393,7 +393,7 @@ let dayJustificatifs = justificatifs.filter((justif) => { return new Date(date).isBetween( new Date(justif.date_debut).startOf("day"), - new Date(justif.date_fin).startOf("day"), + new Date(justif.date_fin).endOf("day"), "[]" ) }); @@ -409,6 +409,7 @@ } function generateCalendar(assiduitiesByDay, nonWorkdays = []) { + // assiduitiesByDay[month][date] avec date au format m/d/y !!! const calendar = document.querySelector('.calendrier') const options = getOptions(); calendar.innerHTML = "" @@ -422,7 +423,9 @@ 6: "Sam", 0: "Dim", }; - + // XXX formats de données très exotiques ! + // XXX assiduitiesByDay["oct."]["10/12/2023"] + // XXX Object { assiduites: [], justificatifs: [] } Object.keys(assiduitiesByDay).forEach((month) => { const monthEl = document.createElement('div') monthEl.classList.add("month") @@ -686,4 +689,4 @@ function isCalendrier() { return true } -{% endblock pageContent %} \ No newline at end of file +{% endblock pageContent %} diff --git a/app/templates/assiduites/pages/etat_absence_date.j2 b/app/templates/assiduites/pages/etat_abs_date.j2 similarity index 100% rename from app/templates/assiduites/pages/etat_absence_date.j2 rename to app/templates/assiduites/pages/etat_abs_date.j2 diff --git a/app/views/assiduites.py b/app/views/assiduites.py index 1d30d3c4..69834961 100644 --- a/app/views/assiduites.py +++ b/app/views/assiduites.py @@ -1063,10 +1063,10 @@ def etat_abs_date(): # On récupère l'état de la première assiduité sur la période assi = assiduites.filter_by(etudid=etud["etudid"]).first() etat = "" - if assi is not None and assi.etat != 0: + if assi is not None and assi.etat != scu.EtatAssiduite.PRESENT: etat = scu.EtatAssiduite.inverse().get(assi.etat).name - # On génère l'objet simplifié + # On génère l'objet simplifié (un dict) etudiant = { "nom": f"""