From 2ed4516a970b357fe483df23b6df6e1e339b2660 Mon Sep 17 00:00:00 2001
From: Iziram
Date: Fri, 24 May 2024 10:26:47 +0200
Subject: [PATCH] =?UTF-8?q?Assiduit=C3=A9=20:=20fusion=20liste=5Fetud=20bi?=
=?UTF-8?q?lan=5Fetud?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/scodoc/html_sidebar.py | 8 +-
app/templates/assiduites/pages/bilan_etud.j2 | 6 +-
.../assiduites/pages/liste_assiduites.j2 | 27 -------
app/templates/sidebar.j2 | 6 +-
app/views/assiduites.py | 78 +++----------------
5 files changed, 20 insertions(+), 105 deletions(-)
delete mode 100644 app/templates/assiduites/pages/liste_assiduites.j2
diff --git a/app/scodoc/html_sidebar.py b/app/scodoc/html_sidebar.py
index bbe441e2f..a296d10c2 100755
--- a/app/scodoc/html_sidebar.py
+++ b/app/scodoc/html_sidebar.py
@@ -28,6 +28,7 @@
"""
Génération de la "sidebar" (marge gauche des pages HTML)
"""
+
from flask import render_template, url_for
from flask import g, request
from flask_login import current_user
@@ -193,7 +194,7 @@ def sidebar(etudid: int = None):
formsemestre.date_debut.strftime(scu.DATE_FMT)
} au {
formsemestre.date_fin.strftime(scu.DATE_FMT)
- }">({
+ }" data-tooltip>({
sco_preferences.get_preference("assi_metrique", None)})
{nbabsjust:1g} J., {nbabsnj:1g} N.J."""
)
@@ -227,12 +228,9 @@ def sidebar(etudid: int = None):
Calendrier
- Liste
Bilan
+ }" title="Les pages bilan et liste ont été fusionnées">Liste/Bilan
"""
)
diff --git a/app/templates/assiduites/pages/bilan_etud.j2 b/app/templates/assiduites/pages/bilan_etud.j2
index fb586556b..6bb97053c 100644
--- a/app/templates/assiduites/pages/bilan_etud.j2
+++ b/app/templates/assiduites/pages/bilan_etud.j2
@@ -86,9 +86,6 @@ Bilan assiduité de {{sco.etud.nomprenom}}
- Le tableau n'affiche que les assiduités non justifiées
- et les justificatifs soumis / modifiés
-
{{tableau | safe }}
@@ -99,6 +96,9 @@ Bilan assiduité de {{sco.etud.nomprenom}}
département)
Les statistiques sont calculées entre les deux dates sélectionnées. Après modification des dates,
appuyer sur le bouton "Actualiser"
+
+ {% include "assiduites/explication_etats_justifs.j2" %}
+
diff --git a/app/templates/assiduites/pages/liste_assiduites.j2 b/app/templates/assiduites/pages/liste_assiduites.j2
deleted file mode 100644
index ad7c0de09..000000000
--- a/app/templates/assiduites/pages/liste_assiduites.j2
+++ /dev/null
@@ -1,27 +0,0 @@
-{% extends "sco_page.j2" %}
-
-{% block title %}
-Assiduité de {{etud.nomprenom}}
-{% endblock title %}
-
-{% block styles %}
- {{ super() }}
-
-{% endblock styles %}
-
-{% block scripts %}
- {{ super() }}
-
-{% endblock %}
-
-
-{% block app_content %}
-
-
-
Liste de l'assiduité et des justificatifs de {{sco.etud.html_link_fiche()|safe}}
- {{tableau | safe }}
-
-
-{% include "assiduites/explication_etats_justifs.j2" %}
-
-{% endblock app_content %}
diff --git a/app/templates/sidebar.j2 b/app/templates/sidebar.j2
index 23fc83b2f..346ffffa2 100755
--- a/app/templates/sidebar.j2
+++ b/app/templates/sidebar.j2
@@ -57,7 +57,7 @@
Absences
{% if sco.etud_cur_sem %}
({{sco.prefs["assi_metrique"]}})
+ au {{ sco.etud_cur_sem['date_fin'].strftime('%d/%m/%Y') }}" data-tooltip>({{sco.prefs["assi_metrique"]}})
{{'%1g'|format(sco.nb_abs_just)}} J., {{'%1g'|format(sco.nb_abs_nj)}} N.J.
{% endif %}
@@ -73,10 +73,8 @@
{% endif %}
Calendrier
- Liste
Bilan
+ etudid=sco.etud.id) }}" title="Les pages bilan et liste ont été fusionnées">Liste/Bilan
{% endif %}
{# /etud-insidebar #}
diff --git a/app/views/assiduites.py b/app/views/assiduites.py
index 71e4ffd31..b9020dec4 100644
--- a/app/views/assiduites.py
+++ b/app/views/assiduites.py
@@ -511,51 +511,6 @@ def _record_assiduite_etud(
return False
-@bp.route("/liste_assiduites_etud")
-@scodoc
-@permission_required(Permission.ScoView)
-def liste_assiduites_etud():
- """
- liste_assiduites_etud Affichage de toutes les assiduites et justificatifs d'un etudiant
- Args:
- etudid (int): l'identifiant de l'étudiant
-
- Returns:
- str: l'html généré
- """
-
- # Récupération de l'étudiant concerné
- etudid = request.args.get("etudid", -1)
- etud: Identite = Identite.query.get_or_404(etudid)
- if etud.dept_id != g.scodoc_dept_id:
- abort(404, "étudiant inexistant dans ce département")
-
- # Gestion d'une assiduité unique (redirigé depuis le calendrier) TODO-Assiduites
- assiduite_id: int = request.args.get("assiduite_id", -1)
-
- # Préparation de la page
- tableau = _prepare_tableau(
- liste_assi.AssiJustifData.from_etudiants(
- etud,
- ),
- filename=f"assiduites-justificatifs-{etud.id}",
- afficher_etu=False,
- filtre=liste_assi.AssiFiltre(type_obj=0),
- options=liste_assi.AssiDisplayOptions(show_module=True),
- cache_key=f"tableau-etud-{etud.id}",
- )
- if not tableau[0]:
- return tableau[1]
- # Page HTML:
- return render_template(
- "assiduites/pages/liste_assiduites.j2",
- assi_id=assiduite_id,
- etud=etud,
- tableau=tableau[1],
- sco=ScoData(etud),
- )
-
-
@bp.route("/bilan_etud")
@scodoc
@permission_required(Permission.ScoView)
@@ -583,28 +538,19 @@ def bilan_etud():
sco_preferences.get_preference("assi_metrique", dept_id=g.scodoc_dept_id),
)
- # Récupération des assiduités et justificatifs de l'étudiant
- data = liste_assi.AssiJustifData(
- etud.assiduites.filter(
- Assiduite.etat != scu.EtatAssiduite.PRESENT, Assiduite.est_just == False
+ # Préparation de la page
+ tableau = _prepare_tableau(
+ liste_assi.AssiJustifData.from_etudiants(
+ etud,
),
- etud.justificatifs.filter(
- Justificatif.etat.in_(
- [scu.EtatJustificatif.ATTENTE, scu.EtatJustificatif.MODIFIE]
- )
- ),
- )
-
- table = _prepare_tableau(
- data,
+ filename=f"assiduites-justificatifs-{etud.id}",
afficher_etu=False,
- filename=f"Bilan assiduité {etud.nomprenom}",
- titre="Bilan de l'assiduité de l'étudiant",
- cache_key=f"tableau-etud-{etud.id}-bilan",
+ filtre=liste_assi.AssiFiltre(type_obj=0),
+ options=liste_assi.AssiDisplayOptions(show_module=True),
+ cache_key=f"tableau-etud-{etud.id}",
)
-
- if not table[0]:
- return table[1]
+ if not tableau[0]:
+ return tableau[1]
# Génération de la page HTML
return render_template(
@@ -614,7 +560,7 @@ def bilan_etud():
date_debut=date_debut,
date_fin=date_fin,
sco=ScoData(etud),
- tableau=table[1],
+ tableau=tableau[1],
)
@@ -654,7 +600,7 @@ def edit_justificatif_etud(justif_id: int):
back_url = request.args.get("back_url", None)
redirect_url = back_url or url_for(
- "assiduites.liste_assiduites_etud",
+ "assiduites.bilan_etud",
scodoc_dept=g.scodoc_dept,
etudid=justif.etudiant.id,
)