From 0b6f60897b73ede491d96750326eeacddf3ef1d3 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Sat, 9 Dec 2023 16:03:17 +0100 Subject: [PATCH] Assiduite: tableau etat_abs_date: export excel --- app/templates/assiduites/pages/etat_abs_date.j2 | 6 ++++-- app/views/assiduites.py | 11 ++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/templates/assiduites/pages/etat_abs_date.j2 b/app/templates/assiduites/pages/etat_abs_date.j2 index 09ce965e..d40b61e8 100644 --- a/app/templates/assiduites/pages/etat_abs_date.j2 +++ b/app/templates/assiduites/pages/etat_abs_date.j2 @@ -14,14 +14,16 @@ de {{date_debut.strftime("%H:%M")}} à {{date_fin.strftime("%H:%M")}} +
{% if evaluation %} -
Assiduité lors de l'évaluation +Assiduité lors de l'évaluation {{evaluation.description or ''}} {% endif %} -
{{description}}
+{{scu.ICON_XLS|safe}} +
{{table.html()|safe}} diff --git a/app/views/assiduites.py b/app/views/assiduites.py index e62b4332..cfe15723 100644 --- a/app/views/assiduites.py +++ b/app/views/assiduites.py @@ -1050,15 +1050,17 @@ class RowEtudWithAssi(RowEtud): def etat_abs_date(): """Tableau de l'état d'assiduité d'un ou plusieurs groupes sur la plage de dates date_debut, date_fin. - group_ids=6573 : id de(s) groupe(s) + group_ids : ids de(s) groupe(s) date_debut, date_fin: format ISO evaluation_id: optionnel, évaluation concernée, pour titre et liens. date_debut, date_fin en ISO + fmt : format export (xls, défaut html) """ # Récupération des paramètres de la requête date_debut_str = request.args.get("date_debut") date_fin_str = request.args.get("date_fin") + fmt = request.args.get("fmt", "html") group_ids = request.args.getlist("group_ids", int) evaluation_id = request.args.get("evaluation_id") evaluation: Evaluation = ( @@ -1104,6 +1106,13 @@ def etat_abs_date(): row.add_etud_cols() table.add_row(row) + if fmt.startswith("xls"): + return scu.send_file( + table.excel(), + filename=f"assiduite-eval-{date_debut.isoformat()}", + mime=scu.XLSX_MIMETYPE, + suffix=scu.XLSX_SUFFIX, + ) return render_template( "assiduites/pages/etat_abs_date.j2", date_debut=date_debut,