Assiduite: tableau etat_abs_date: export excel

This commit is contained in:
Emmanuel Viennet 2023-12-09 16:03:17 +01:00
parent 4db178ea52
commit 0b6f60897b
2 changed files with 14 additions and 3 deletions

View File

@ -14,14 +14,16 @@
de {{date_debut.strftime("%H:%M")}} à {{date_fin.strftime("%H:%M")}}
</h2>
<div>
{% if evaluation %}
<div>Assiduité lors de l'évaluation
Assiduité lors de l'évaluation
<a class="stdlink" href="{{
url_for('notes.evaluation_listenotes',
scodoc_dept=g.scodoc_dept, evaluation_id=evaluation.id)
}}"><em>{{evaluation.description or ''}}</em></a>
{% endif %}
<div>{{description}}</div>
<a style="margin-left:32px;" href="{{request.url}}&fmt=xlsx">{{scu.ICON_XLS|safe}}</a>
</div>
{{table.html()|safe}}

View File

@ -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,