diff --git a/app/scodoc/sco_groups.py b/app/scodoc/sco_groups.py index 6a1ee4679..f8653fe30 100644 --- a/app/scodoc/sco_groups.py +++ b/app/scodoc/sco_groups.py @@ -60,6 +60,7 @@ from app.scodoc import sco_cache from app.scodoc import sco_etud from app.scodoc import sco_permissions_check from app.scodoc import sco_xml +from app.scodoc import sco_excel from app.scodoc.sco_exceptions import ScoException, AccessDenied, ScoValueError from app.scodoc.sco_permissions import Permission from app.scodoc.TrivialFormulator import TrivialFormulator @@ -1609,6 +1610,27 @@ def make_query_groups(group_ids): return "" +def exportAnnotation(group_ids): + cnx = ndb.GetDBConnexion() + cursor = cnx.cursor() + cursor.execute( + """SELECT i.nom, i.prenom, ea.date, ea.comment + FROM group_membership gm, identite i, etud_annotations ea + WHERE gm.group_id=%(group_ids)s + AND gm.etudid=i.id + AND i.id=ea.etudid + """, + {"group_ids": group_ids}, + ) + titles = ["nom", "prenom", "date", "annotation"] + title = "annotations" + xlsx = sco_excel.excel_simple_table( + titles=titles, lines=cursor.fetchall(), sheet_name=title + ) + filename = title + return scu.send_file(xlsx, filename, scu.XLSX_SUFFIX, scu.XLSX_MIMETYPE) + + class GroupIdInferer(object): """Sert à retrouver l'id d'un groupe dans un semestre donné à partir de son nom. diff --git a/app/scodoc/sco_groups_view.py b/app/scodoc/sco_groups_view.py index 5b89ab44f..cd51a20b2 100644 --- a/app/scodoc/sco_groups_view.py +++ b/app/scodoc/sco_groups_view.py @@ -826,6 +826,8 @@ def tab_absences_html(groups_infos, etat=None): % groups_infos.groups_query_args, """