Fix: report_debouche_date

This commit is contained in:
Emmanuel Viennet 2021-09-30 09:37:18 +02:00
parent 1f125d3a1d
commit 8463d368a1
2 changed files with 27 additions and 11 deletions

View File

@ -48,9 +48,19 @@ import sco_version
def report_debouche_date(start_year=None, format="html"): def report_debouche_date(start_year=None, format="html"):
"""Rapport (table) pour les débouchés des étudiants sortis à partir de l'année indiquée.""" """Rapport (table) pour les débouchés des étudiants sortis
à partir de l'année indiquée.
"""
if not start_year: if not start_year:
return report_debouche_ask_date() return report_debouche_ask_date("Année de début de la recherche")
else:
try:
start_year = int(start_year)
except ValueError:
return report_debouche_ask_date(
"Année invalide. Année de début de la recherche"
)
if format == "xls": if format == "xls":
keep_numeric = True # pas de conversion des notes en strings keep_numeric = True # pas de conversion des notes en strings
else: else:
@ -96,8 +106,9 @@ def get_etudids_with_debouche(start_year):
FROM notes_formsemestre_inscription i, notes_formsemestre s, itemsuivi it FROM notes_formsemestre_inscription i, notes_formsemestre s, itemsuivi it
WHERE i.etudid = it.etudid WHERE i.etudid = it.etudid
AND i.formsemestre_id = s.id AND s.date_fin >= %(start_date)s AND i.formsemestre_id = s.id AND s.date_fin >= %(start_date)s
AND s.dept_id = %(dept_id)s
""", """,
{"start_date": start_date}, {"start_date": start_date, "dept_id": g.scodoc_dept_id},
) )
return [x["etudid"] for x in r] return [x["etudid"] for x in r]
@ -193,15 +204,16 @@ def table_debouche_etudids(etudids, keep_numeric=True):
return tab return tab
def report_debouche_ask_date(): def report_debouche_ask_date(msg: str) -> str:
"""Formulaire demande date départ""" """Formulaire demande date départ"""
return ( return f"""{html_sco_header.sco_header()}
html_sco_header.sco_header() <h2>Table des débouchés des étudiants</h2>
+ """<form method="GET"> <form method="GET">
Date de départ de la recherche: <input type="text" name="start_year" value="" size=10/> {msg}
</form>""" <input type="text" name="start_year" value="" size=10/>
+ html_sco_header.sco_footer() </form>
) {html_sco_header.sco_footer()}
"""
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------

View File

@ -275,6 +275,10 @@ def formsemestre_bulletinetud(
force_publishing=False, force_publishing=False,
prefer_mail_perso=False, prefer_mail_perso=False,
): ):
if not etudid:
raise ScoValueError("Paramètre manquant: etudid est requis")
if not formsemestre_id:
raise ScoValueError("Paramètre manquant: formsemestre_id est requis")
return sco_bulletins.formsemestre_bulletinetud( return sco_bulletins.formsemestre_bulletinetud(
etudid=etudid, etudid=etudid,
formsemestre_id=formsemestre_id, formsemestre_id=formsemestre_id,