############################################################################## # ScoDoc # Copyright (c) 1999 - 2022 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## """Jury BUT: clacul des décisions de jury annuelles "automatiques" """ from flask import g, url_for from app import db from app.but import jury_but from app.models.etudiants import Identite from app.models.formsemestre import FormSemestre from app.scodoc.sco_exceptions import ScoValueError def formsemestre_validation_auto_but(formsemestre: FormSemestre) -> int: """Calcul automatique des décisions de jury sur une année BUT. Returns: nombre d'étudiants "admis" """ if not formsemestre.formation.is_apc(): raise ScoValueError("fonction réservée aux formations BUT") nb_admis = 0 for etudid in formsemestre.etuds_inscriptions: etud: Identite = Identite.query.get(etudid) deca = jury_but.DecisionsProposeesAnnee(etud, formsemestre) if deca.admis: # année réussie deca.record_all() nb_admis += 1 db.session.commit() return nb_admis