Ajoute une vérification sur les semestres BUT: association aux parcours

This commit is contained in:
Emmanuel Viennet 2024-02-11 21:19:45 +01:00
parent 69a53adb55
commit 6761f5a620
2 changed files with 21 additions and 5 deletions

View File

@ -447,8 +447,24 @@ def formsemestre_warning_apc_setup(
}">formation n'est pas associée à un référentiel de compétence.</a> }">formation n'est pas associée à un référentiel de compétence.</a>
</div> </div>
""" """
# Vérifie les niveaux de chaque parcours
H = [] H = []
# Le semestre n'a pas de parcours, mais les UE ont des parcours ?
if not formsemestre.parcours:
nb_ues_sans_parcours = len(
formsemestre.formation.query_ues_parcour(None)
.filter(UniteEns.semestre_idx == formsemestre.semestre_id)
.all()
)
nb_ues_tot = (
UniteEns.query.filter_by(formation=formsemestre.formation, type=UE_STANDARD)
.filter(UniteEns.semestre_idx == formsemestre.semestre_id)
.count()
)
if nb_ues_sans_parcours != nb_ues_tot:
H.append(
f"""Le semestre n'est associé à aucun parcours, mais les UEs de la formation ont des parcours"""
)
# Vérifie les niveaux de chaque parcours
for parcour in formsemestre.parcours or [None]: for parcour in formsemestre.parcours or [None]:
annee = (formsemestre.semestre_id + 1) // 2 annee = (formsemestre.semestre_id + 1) // 2
niveaux_ids = { niveaux_ids = {

View File

@ -11,14 +11,12 @@ Usage: pytest tests/scenarios/test_scenario1_formation.py
""" """
# code écrit par Fares Amer, mai 2021 et porté sur ScoDoc 8 en août 2021 # code écrit par Fares Amer, mai 2021 et porté sur ScoDoc 8 en août 2021
import random
from tests.unit import sco_fake_gen from tests.unit import sco_fake_gen
from app.scodoc import sco_edit_module from app.scodoc import sco_edit_module
from app.scodoc import sco_formations from app.scodoc import sco_formations
from app.scodoc import sco_moduleimpl
@pytest.mark.skip # test obsolete
def test_scenario1(test_client): def test_scenario1(test_client):
"""Applique "scenario 1""" """Applique "scenario 1"""
run_scenario1() run_scenario1()
@ -28,7 +26,9 @@ def run_scenario1():
G = sco_fake_gen.ScoFake(verbose=False) G = sco_fake_gen.ScoFake(verbose=False)
# Lecture fichier XML local: # Lecture fichier XML local:
with open("tests/unit/formation-exemple-1.xml") as f: with open(
"tests/ressources/formations/formation-exemple-1.xml", encoding="utf8"
) as f:
doc = f.read() doc = f.read()
# --- Création de la formation # --- Création de la formation