diff --git a/app/templates/assiduites/pages/etat_abs_date.j2 b/app/templates/assiduites/pages/etat_abs_date.j2 index 09ce965ef..d40b61e8c 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 e62b43325..cfe15723c 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,