From a7935d375a9a72ee0dcc73b71cc8b36d0ca66128 Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Fri, 17 Nov 2023 00:22:46 +0100
Subject: [PATCH] =?UTF-8?q?WIP:=20saisie=20abs=20depuis=20calendrier=20(re?=
 =?UTF-8?q?ste=20bug=20d=C3=A9calage=20jour)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/scodoc/sco_edt_cal.py                                | 2 +-
 app/static/js/assiduites.js                              | 6 +++---
 app/templates/assiduites/pages/signal_assiduites_diff.j2 | 4 ++--
 app/views/assiduites.py                                  | 8 ++++----
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/app/scodoc/sco_edt_cal.py b/app/scodoc/sco_edt_cal.py
index a3a9ada56..9bfaebf6c 100644
--- a/app/scodoc/sco_edt_cal.py
+++ b/app/scodoc/sco_edt_cal.py
@@ -300,7 +300,7 @@ def _load_and_convert_ics(formsemestre: FormSemestre) -> list[dict]:
                     .replace(tzinfo=timezone.utc)
                     .astimezone(tz=None)
                     .strftime("%H:%M"),
-                    "jour": event.decoded("dtstart").isoformat(),
+                    "jour": event.decoded("dtstart").date().isoformat(),
                     "start": event.decoded("dtstart").isoformat(),
                     "end": event.decoded("dtend").isoformat(),
                 }
diff --git a/app/static/js/assiduites.js b/app/static/js/assiduites.js
index caac0c69f..63b78620f 100644
--- a/app/static/js/assiduites.js
+++ b/app/static/js/assiduites.js
@@ -611,7 +611,7 @@ function updateDate() {
   }
 
   let dateStr = "";
-  if (!verifyNonWorkDays(date.getDay(), nonWorkDays)) {
+  if (!isNonWorkDay(date.getDay(), nonWorkDays)) {
     dateStr = formatDate(date).capitalize();
   } else {
     // On se rend au dernier jour travaillé disponible
@@ -645,7 +645,7 @@ function getNearestWorkDay(date) {
   const aDay = 86400000; // 24 * 3600 * 1000 | H * s * ms
   let day = date;
   let count = 0;
-  while (verifyNonWorkDays(day.getDay(), nonWorkDays) && count++ < 7) {
+  while (isNonWorkDay(day.getDay(), nonWorkDays) && count++ < 7) {
     day = new Date(day - aDay);
   }
   return day;
@@ -702,7 +702,7 @@ function formatDateModal(str, separator = " ") {
  * Vérifie si la date sélectionnée n'est pas un jour non travaillé
  * Renvoie Vrai si le jour est non travaillé
  */
-function verifyNonWorkDays(day, nonWorkdays) {
+function isNonWorkDay(day, nonWorkdays) {
   let d = "";
   switch (day) {
     case 0:
diff --git a/app/templates/assiduites/pages/signal_assiduites_diff.j2 b/app/templates/assiduites/pages/signal_assiduites_diff.j2
index 2f429d3a6..a41704e93 100644
--- a/app/templates/assiduites/pages/signal_assiduites_diff.j2
+++ b/app/templates/assiduites/pages/signal_assiduites_diff.j2
@@ -43,7 +43,7 @@
 
                 d = new Date(dateString).getDay();
 
-                if (verifyNonWorkDays(d, nonWorkDays)) return;
+                if (isNonWorkDay(d, nonWorkDays)) return;
 
                 matin = `${dateString}T${timeMorning}`;
                 midi = `${dateString}T${timeNoon}`;
@@ -70,4 +70,4 @@
 {% include "assiduites/widgets/alert.j2" %}
 {% include "assiduites/widgets/prompt.j2" %}
 {% include "assiduites/widgets/conflict.j2" %}
-{% include "assiduites/widgets/toast.j2" %}
\ No newline at end of file
+{% include "assiduites/widgets/toast.j2" %}
diff --git a/app/views/assiduites.py b/app/views/assiduites.py
index 564609722..ce7bfdf47 100644
--- a/app/views/assiduites.py
+++ b/app/views/assiduites.py
@@ -176,13 +176,13 @@ def bilan_dept():
         ),
         """<h2>Traitement de l'assiduité</h2>
         <p class="help">
-        Pour saisir l'assiduité ou consulter les états, il est recommandé de passer par 
+        Pour saisir l'assiduité ou consulter les états, il est recommandé de passer par
         le semestre concerné (saisie par jour ou saisie différée).
         </p>
         """,
     ]
     H.append(
-        """<p class="help">Pour signaler, annuler ou justifier l'assiduité d'un seul étudiant, 
+        """<p class="help">Pour signaler, annuler ou justifier l'assiduité d'un seul étudiant,
         choisissez d'abord la personne concernée&nbsp;:</p>"""
     )
     # Ajout de la barre de recherche d'étudiant (redirection vers bilan etud)
@@ -923,8 +923,8 @@ def etat_abs_date():
         # On génère l'objet simplifié
         etudiant = {
             "nom": f"""<a href="{url_for(
-                "assiduites.calendrier_etud", 
-                scodoc_dept=g.scodoc_dept, 
+                "assiduites.calendrier_etud",
+                scodoc_dept=g.scodoc_dept,
                 etudid=etud["etudid"])
             }"><font color="#A00000">{etud["nomprenom"]}</font></a>""",
             "etat": etat,
-- 
GitLab