diff --git a/app/scodoc/sco_formsemestre_exterieurs.py b/app/scodoc/sco_formsemestre_exterieurs.py index 6ad279ff..da71ee64 100644 --- a/app/scodoc/sco_formsemestre_exterieurs.py +++ b/app/scodoc/sco_formsemestre_exterieurs.py @@ -56,34 +56,34 @@ from app.scodoc import sco_formsemestre_validation from app.scodoc.codes_cursus import UE_SPORT -def formsemestre_ext_create(etudid, sem_params): +def formsemestre_ext_create(etud: Identite | None, sem_params: dict) -> FormSemestre: """Crée un formsemestre exterieur et y inscrit l'étudiant. sem_params: dict nécessaire à la création du formsemestre """ # Check args _ = Formation.query.get_or_404(sem_params["formation_id"]) - if etudid: - _ = Identite.get_etud(etudid) # Create formsemestre sem_params["modalite"] = "EXT" sem_params["etapes"] = None sem_params["responsables"] = [current_user.id] - formsemestre_id = sco_formsemestre.do_formsemestre_create(sem_params, silent=True) + formsemestre = FormSemestre.create_formsemestre(sem_params, silent=True) # nota: le semestre est créé vide: pas de modules # Inscription au semestre - sco_formsemestre_inscriptions.do_formsemestre_inscription_with_modules( - formsemestre_id, - etudid, - method="formsemestre_ext_create", - ) - return formsemestre_id + if etud: + sco_formsemestre_inscriptions.do_formsemestre_inscription_with_modules( + formsemestre.id, + etud.id, + method="formsemestre_ext_create", + ) + return formsemestre def formsemestre_ext_create_form(etudid, formsemestre_id): """Formulaire création/inscription à un semestre extérieur""" etud = Identite.get_etud(etudid) + formsemestre = FormSemestre.get_formsemestre(formsemestre_id) H = [ f"""
L'étudiant est déjà inscrit dans des semestres ScoDoc de rangs: @@ -203,22 +202,22 @@ def formsemestre_ext_create_form(etudid, formsemestre_id):
""" ) return render_template("sco_page.j2", content="\n".join(H) + "\n" + tf[1]) - elif tf[0] == -1: + if tf[0] == -1: return flask.redirect( url_for( "notes.formsemestre_bulletinetud", scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre_id, - etudid=etudid, + etudid=etud.id, ) ) - else: - # Le semestre extérieur est créé dans la même formation que le semestre courant - tf[2]["formation_id"] = orig_sem["formation_id"] - formsemestre_ext_create(etudid, tf[2]) - return flask.redirect( - url_for("scolar.fiche_etud", scodoc_dept=g.scodoc_dept, etudid=etudid) - ) + + # Le semestre extérieur est créé dans la même formation que le semestre courant + tf[2]["formation_id"] = formsemestre.formation_id + formsemestre_ext_create(etud, tf[2]) + return flask.redirect( + url_for("scolar.fiche_etud", scodoc_dept=g.scodoc_dept, etudid=etud.id) + ) def formsemestre_ext_edit_ue_validations(formsemestre_id, etudid):