From 1cec3fa703aa8f563281b128bb9ceaeafc5b4c89 Mon Sep 17 00:00:00 2001
From: Iziram <matthias.hartmann@iziram.fr>
Date: Thu, 23 May 2024 09:40:44 +0200
Subject: [PATCH] =?UTF-8?q?Assiduit=C3=A9=20:=20signal=5Fassiduite=5Fgroup?=
 =?UTF-8?q?=20:=20bouton=20jour=20suivant=20/=20pr=C3=A9c=C3=A9dent?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/static/js/assiduites.js                    | 18 ++++++++++++++++--
 .../pages/signal_assiduites_group.j2           |  6 ++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/app/static/js/assiduites.js b/app/static/js/assiduites.js
index 00757640..c9fd3fb9 100644
--- a/app/static/js/assiduites.js
+++ b/app/static/js/assiduites.js
@@ -798,13 +798,16 @@ function estJourTravail(jour, nonWorkdays) {
   return !nonWorkdays.includes(d);
 }
 
-function retourJourTravail(date) {
+function retourJourTravail(date, anti = true) {
   const jourMiliSecondes = 86400000; // 24 * 3600 * 1000 | H * s * ms
   let jour = date;
   let compte = 0;
 
   while (!estJourTravail(jour, nonWorkDays) && compte++ < 7) {
-    jour = new Date(jour - jourMiliSecondes);
+    let temps = anti
+      ? jour - jourMiliSecondes
+      : jour.valueOf() + jourMiliSecondes;
+    jour = new Date(temps);
   }
   return jour;
 }
@@ -837,6 +840,17 @@ function dateCouranteEstTravaillee() {
   return true;
 }
 
+function jourSuivant(anti = false) {
+  let date = $("#date").datepicker("getDate");
+
+  date = anti ? date.add(-1, "days") : date.add(1, "days");
+
+  const nouvelleDate = retourJourTravail(date, anti);
+
+  $("#date").datepicker("setDate", nouvelleDate);
+  creerTousLesEtudiants(etuds);
+}
+
 /**
  * Ajout de la visualisation des assiduités de la mini timeline
  * @param {HTMLElement} el l'élément survollé
diff --git a/app/templates/assiduites/pages/signal_assiduites_group.j2 b/app/templates/assiduites/pages/signal_assiduites_group.j2
index d7cf206a..08d13ae2 100644
--- a/app/templates/assiduites/pages/signal_assiduites_group.j2
+++ b/app/templates/assiduites/pages/signal_assiduites_group.j2
@@ -153,8 +153,14 @@
         <div class="infos">
             <div class="infos-button">Groupes&nbsp;: {{grp|safe}}</div>
             <div>
+            <button class="btn_date" onclick="jourSuivant(true)">
+            &LeftArrowBar;
+            </button>
             <input type="text" name="date" id="date" class="datepicker" value="{{date}}">
             </div>
+            <button class="btn_date" onclick="jourSuivant(false)">
+            &RightArrowBar;
+            </button>
         </div>
     </fieldset>
     <div style="display: {{'none' if readonly == 'true' else 'block'}};">
-- 
GitLab