diff --git a/app/scodoc/html_sidebar.py b/app/scodoc/html_sidebar.py
index 3c8da9c31..cb93b15e1 100755
--- a/app/scodoc/html_sidebar.py
+++ b/app/scodoc/html_sidebar.py
@@ -136,7 +136,7 @@ def sidebar(etudid: int = None):
)
H.append(
f"""
-
+ {{minitimeline | safe }}
+
Assiduités de {{sco.etud.nomprenom}}
+
+
+
+
+ Année scolaire 2022-2023 Changer année:
+
+
+
+
+
+
+
+
+{% endblock pageContent %}
\ No newline at end of file
diff --git a/app/templates/assiduites/widgets/minitimeline.j2 b/app/templates/assiduites/widgets/minitimeline.j2
index 29c0c7c63..5c387d91a 100644
--- a/app/templates/assiduites/widgets/minitimeline.j2
+++ b/app/templates/assiduites/widgets/minitimeline.j2
@@ -11,9 +11,9 @@
* @param {Array[Assiduité]} assiduitesArray
* @returns {HTMLElement} l'élément correspondant à la mini timeline
*/
- function createMiniTimeline(assiduitesArray) {
+ function createMiniTimeline(assiduitesArray, day = null) {
const array = [...assiduitesArray];
- const dateiso = document.getElementById("tl_date").value;
+ const dateiso = day == null ? document.getElementById("tl_date").value : day;
const timeline = document.createElement("div");
timeline.className = "mini-timeline";
if (isSingleEtud()) {
@@ -26,15 +26,16 @@
timeline.appendChild(setMiniTick(timelineDate, dayStart, dayDuration));
- const tlTimes = getTimeLineTimes();
- const period_assi = {
- date_debut: tlTimes.deb.format(),
- date_fin: tlTimes.fin.format(),
- etat: "CRENEAU",
- };
- array.push(period_assi);
+ if (day == null) {
+ const tlTimes = getTimeLineTimes();
+ array.push({
+ date_debut: tlTimes.deb.format(),
+ date_fin: tlTimes.fin.format(),
+ etat: "CRENEAU",
+ });
+ }
array.forEach((assiduité) => {
const startDate = moment(assiduité.date_debut);
@@ -65,7 +66,7 @@
deb = Math.max(mt_start, deb);
fin = Math.min(mt_end, fin);
- setPeriodValues(deb, fin);
+ if (day == null) setPeriodValues(deb, fin);
if (isSingleEtud()) {
updateSelectedSelect(getCurrentAssiduiteModuleImplId());
updateJustifyBtn();
@@ -288,4 +289,24 @@
outline: 3px solid #7059FF;
pointer-events: none;
}
+
+ .mini-timeline-block.absent {
+ background-color: #F1A69C !important;
+ }
+
+ .mini-timeline-block.present {
+ background-color: #9CF1AF !important;
+ }
+
+ .mini-timeline-block.retard {
+ background-color: #F1D99C !important;
+ }
+
+ .mini-timeline-block.justified {
+ background-image: repeating-linear-gradient(135deg, transparent, transparent 4px, #7059FF 4px, #7059FF 8px);
+ }
+
+ .mini-timeline-block.invalid_justified {
+ background-image: repeating-linear-gradient(135deg, transparent, transparent 4px, #d61616 4px, #d61616 8px);
+ }
\ No newline at end of file
diff --git a/app/templates/assiduites/widgets/tableau_base.j2 b/app/templates/assiduites/widgets/tableau_base.j2
index 9912a42ce..6e7520b21 100644
--- a/app/templates/assiduites/widgets/tableau_base.j2
+++ b/app/templates/assiduites/widgets/tableau_base.j2
@@ -478,7 +478,7 @@
const filterHead = html.querySelector('.filter-head');
filterHead.innerHTML = ""
- let cols = ["entry_date", "date_debut", "date_fin", "etat", "raison"];
+ let cols = ["entry_date", "date_debut", "date_fin", "etat", "raison", "fichier"];
cols.forEach((k) => {
const label = document.createElement('label')
diff --git a/app/templates/sidebar.j2 b/app/templates/sidebar.j2
index 5db4039d3..6a607db79 100755
--- a/app/templates/sidebar.j2
+++ b/app/templates/sidebar.j2
@@ -69,7 +69,7 @@
etudid=sco.etud.id) }}">Billets
{% endif %}
{% endif %}
-