diff --git a/app/but/jury_but_view.py b/app/but/jury_but_view.py index b82007b86..915d75393 100644 --- a/app/but/jury_but_view.py +++ b/app/but/jury_but_view.py @@ -331,250 +331,6 @@ def _gen_but_rcue(dec_rcue: DecisionsProposeesRCUE, niveau: ApcNiveau) -> str: """ -def jury_but_semestriel( - formsemestre: FormSemestre, - etud: Identite, - read_only: bool, - navigation_div: str = "", -) -> str: - """Page: formulaire saisie décision d'UE d'un semestre BUT isolé (pas jury annuel).""" - res: ResultatsSemestreBUT = res_sem.load_formsemestre_results(formsemestre) - parcour, ues = jury_but.list_ue_parcour_etud(formsemestre, etud, res) - inscription_etat = etud.inscription_etat(formsemestre.id) - semestre_terminal = ( - formsemestre.semestre_id >= formsemestre.formation.get_cursus().NB_SEM - ) - autorisations_passage = ScolarAutorisationInscription.query.filter_by( - etudid=etud.id, - origin_formsemestre_id=formsemestre.id, - ).all() - # Par défaut: autorisé à passer dans le semestre suivant si sem. impair, - # ou si décision déjà enregistrée: - est_autorise_a_passer = (formsemestre.semestre_id % 2) or ( - formsemestre.semestre_id + 1 - ) in (a.semestre_id for a in autorisations_passage) - decisions_ues = { - ue.id: DecisionsProposeesUE(etud, formsemestre, ue, inscription_etat) - for ue in ues - } - for dec_ue in decisions_ues.values(): - dec_ue.compute_codes() - - if request.method == "POST": - if not read_only: - for key in request.form: - code = request.form[key] - # Codes d'UE - code_match = re.match(r"^code_ue_(\d+)$", key) - if code_match: - ue_id = int(code_match.group(1)) - dec_ue = decisions_ues.get(ue_id) - if not dec_ue: - raise ScoValueError(f"UE invalide ue_id={ue_id}") - dec_ue.record(code) - db.session.commit() - flash("codes enregistrés") - if not semestre_terminal: - if request.form.get("autorisation_passage"): - if not formsemestre.semestre_id + 1 in ( - a.semestre_id for a in autorisations_passage - ): - ScolarAutorisationInscription.delete_autorisation_etud( - etud.id, formsemestre.id - ) - ScolarAutorisationInscription.autorise_etud( - etud.id, - formsemestre.formation.formation_code, - formsemestre.id, - formsemestre.semestre_id + 1, - ) - db.session.commit() - flash( - f"""autorisation de passage en S{formsemestre.semestre_id + 1 - } enregistrée""" - ) - else: - if est_autorise_a_passer: - ScolarAutorisationInscription.delete_autorisation_etud( - etud.id, formsemestre.id - ) - db.session.commit() - flash( - f"autorisation de passage en S{formsemestre.semestre_id + 1} annulée" - ) - ScolarNews.add( - typ=ScolarNews.NEWS_JURY, - obj=formsemestre.id, - text=f"""Saisie décision jury dans {formsemestre.html_link_status()}""", - url=url_for( - "notes.formsemestre_status", - scodoc_dept=g.scodoc_dept, - formsemestre_id=formsemestre.id, - ), - ) - return flask.redirect( - url_for( - "notes.formsemestre_validation_but", - scodoc_dept=g.scodoc_dept, - formsemestre_id=formsemestre.id, - etudid=etud.id, - ) - ) - # GET - if formsemestre.semestre_id % 2 == 0: - warning = f"""