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 %} {% 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, )