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 : {{grp|safe}}</div>
<div>
+ <button class="btn_date" onclick="jourSuivant(true)">
+ ⇤
+ </button>
<input type="text" name="date" id="date" class="datepicker" value="{{date}}">
</div>
+ <button class="btn_date" onclick="jourSuivant(false)">
+ ⇥
+ </button>
</div>
</fieldset>
<div style="display: {{'none' if readonly == 'true' else 'block'}};">
--
GitLab