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"):
"""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:
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":
keep_numeric = True # pas de conversion des notes en strings
else:
@ -96,8 +106,9 @@ def get_etudids_with_debouche(start_year):
FROM notes_formsemestre_inscription i, notes_formsemestre s, itemsuivi it
WHERE i.etudid = it.etudid
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]
@ -193,15 +204,16 @@ def table_debouche_etudids(etudids, keep_numeric=True):
return tab
def report_debouche_ask_date():
def report_debouche_ask_date(msg: str) -> str:
"""Formulaire demande date départ"""
return (
html_sco_header.sco_header()
+ """<form method="GET">
Date de départ de la recherche: <input type="text" name="start_year" value="" size=10/>
</form>"""
+ html_sco_header.sco_footer()
)
return f"""{html_sco_header.sco_header()}
<h2>Table des débouchés des étudiants</h2>
<form method="GET">
{msg}
<input type="text" name="start_year" value="" size=10/>
</form>
{html_sco_header.sco_footer()}
"""
# ----------------------------------------------------------------------------

View File

@ -275,6 +275,10 @@ def formsemestre_bulletinetud(
force_publishing=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(
etudid=etudid,
formsemestre_id=formsemestre_id,