From 6c64844058630dc40079a2c935649b49763bbe47 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Sun, 30 Oct 2022 22:42:10 +0100 Subject: [PATCH] BUT: edition programme: affiche parcours des modules --- app/models/modules.py | 15 +++- app/scodoc/sco_edit_module.py | 4 +- app/templates/pn/form_mods.html | 139 +++++++++++++++----------------- 3 files changed, 80 insertions(+), 78 deletions(-) diff --git a/app/models/modules.py b/app/models/modules.py index 52bcd508ed..1a79c43009 100644 --- a/app/models/modules.py +++ b/app/models/modules.py @@ -3,7 +3,7 @@ from app import db from app.models import APO_CODE_STR_LEN -from app.models.but_refcomp import app_critiques_modules, parcours_modules +from app.models.but_refcomp import ApcParcours, app_critiques_modules, parcours_modules from app.scodoc import sco_utils as scu from app.scodoc.sco_codes_parcours import UE_SPORT from app.scodoc.sco_utils import ModuleType @@ -219,6 +219,19 @@ class Module(db.Model): return {x.strip() for x in self.code_apogee.split(",") if x} return set() + def get_parcours(self) -> list[ApcParcours]: + """Les parcours utilisant ce module. + Si tous les parcours, liste vide (!). + """ + ref_comp = self.formation.referentiel_competence + if not ref_comp: + return [] + tous_parcours_ids = {p.id for p in ref_comp.parcours} + parcours_ids = {p.id for p in self.parcours} + if tous_parcours_ids == parcours_ids: + return [] + return self.parcours + class ModuleUECoef(db.Model): """Coefficients des modules vers les UE (APC, BUT) diff --git a/app/scodoc/sco_edit_module.py b/app/scodoc/sco_edit_module.py index 15d44004bf..ce78ca8609 100644 --- a/app/scodoc/sco_edit_module.py +++ b/app/scodoc/sco_edit_module.py @@ -341,7 +341,9 @@ def module_edit( # Toutes les UEs de la formation (tout parcours): ues = formation.ues.order_by( UniteEns.semestre_idx, UniteEns.numero, UniteEns.acronyme - ).all() + ) + if is_apc and create and semestre_id is not None: + ues = ues.filter_by(semestre_idx=semestre_id) # L'UE de rattachement par défaut: 1ere du semestre ue_default = ( formation.ues.filter_by(semestre_idx=orig_semestre_idx) diff --git a/app/templates/pn/form_mods.html b/app/templates/pn/form_mods.html index 480cf267c2..15bdff5fe6 100644 --- a/app/templates/pn/form_mods.html +++ b/app/templates/pn/form_mods.html @@ -2,100 +2,87 @@ {# Édition liste modules APC (SAÉ ou ressources) #}
-
{{titre}}
+
{{titre}}
-
\ No newline at end of file