diff --git a/app/scodoc/sco_debouche.py b/app/scodoc/sco_debouche.py index b32b39de..4c0b8916 100644 --- a/app/scodoc/sco_debouche.py +++ b/app/scodoc/sco_debouche.py @@ -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() - + """
- Date de départ de la recherche: -
""" - + html_sco_header.sco_footer() - ) + return f"""{html_sco_header.sco_header()} +

Table des débouchés des étudiants

+
+ {msg} + +
+ {html_sco_header.sco_footer()} + """ # ---------------------------------------------------------------------------- diff --git a/app/views/notes.py b/app/views/notes.py index 103121ec..a2f00a45 100644 --- a/app/views/notes.py +++ b/app/views/notes.py @@ -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,