diff --git a/app/scodoc/sco_edit_apc.py b/app/scodoc/sco_edit_apc.py index a9eff6de4..c1c75319b 100644 --- a/app/scodoc/sco_edit_apc.py +++ b/app/scodoc/sco_edit_apc.py @@ -33,6 +33,7 @@ from flask_login import current_user from app import db from app.models import Formation, UniteEns, Matiere, Module, FormSemestre, ModuleImpl from app.models.notes import ScolarFormSemestreValidation +from app.scodoc.sco_codes_parcours import UE_SPORT import app.scodoc.sco_utils as scu from app.scodoc import sco_groups from app.scodoc.sco_utils import ModuleType @@ -99,12 +100,19 @@ def html_edit_formation_apc( ressources_in_sem = ressources.filter_by(semestre_id=semestre_idx) saes_in_sem = saes.filter_by(semestre_id=semestre_idx) other_modules_in_sem = other_modules.filter_by(semestre_id=semestre_idx) + matiere_parent = Matiere.query.filter( + Matiere.ue_id == UniteEns.id, + UniteEns.formation_id == formation.id, + UniteEns.semestre_idx == semestre_idx, + UniteEns.type != UE_SPORT, + ).first() H += [ render_template( "pn/form_mods.html", formation=formation, titre=f"Ressources du S{semestre_idx}", create_element_msg="créer une nouvelle ressource", + matiere_parent=matiere_parent, modules=ressources_in_sem, module_type=ModuleType.RESSOURCE, editable=editable, @@ -117,6 +125,7 @@ def html_edit_formation_apc( formation=formation, titre=f"Situations d'Apprentissage et d'Évaluation (SAÉs) S{semestre_idx}", create_element_msg="créer une nouvelle SAÉ", + matiere_parent=matiere_parent, modules=saes_in_sem, module_type=ModuleType.SAE, editable=editable, diff --git a/app/scodoc/sco_edit_module.py b/app/scodoc/sco_edit_module.py index 1c42d53fc..ae143cbc0 100644 --- a/app/scodoc/sco_edit_module.py +++ b/app/scodoc/sco_edit_module.py @@ -145,7 +145,7 @@ def module_create(matiere_id=None, module_type=None, semestre_id=None): ] if is_apc: H += [ - f"""

Création {object_name} dans la formation {ue.formation.acronyme}

""" + f"""

Création {object_name} dans la formation {ue.formation.acronyme}, Semestre {ue.semestre_idx}, {ue.acronyme}

""" ] else: H += [ @@ -191,35 +191,7 @@ def module_create(matiere_id=None, module_type=None, semestre_id=None): ), ] semestres_indices = list(range(1, parcours.NB_SEM + 1)) - if is_apc: # BUT: choix de l'UE de rattachement (qui donnera le semestre) - descr += [ - ( - "ue_id", - { - "input_type": "menu", - "type": "int", - "title": "UE de rattachement", - "explanation": "utilisée pour la présentation dans certains documents", - "labels": [f"{u.acronyme} {u.titre}" for u in ues], - "allowed_values": [u.id for u in ues], - }, - ), - ] - else: - # Formations classiques: choix du semestre - descr += [ - ( - "semestre_id", - { - "input_type": "menu", - "type": "int", - "title": parcours.SESSION_NAME.capitalize(), - "explanation": "%s du module" % parcours.SESSION_NAME, - "labels": [str(x) for x in semestres_indices], - "allowed_values": semestres_indices, - }, - ), - ] + descr += [ ( "module_type", @@ -318,12 +290,7 @@ def module_create(matiere_id=None, module_type=None, semestre_id=None): if tf[0] == 0: return "\n".join(H) + tf[1] + html_sco_header.sco_footer() else: - if is_apc: - # BUT: l'UE indique le semestre - selected_ue = UniteEns.query.get(tf[2]["ue_id"]) - if selected_ue is None: - raise ValueError("UE invalide") - tf[2]["semestre_id"] = selected_ue.semestre_idx + tf[2]["semestre_id"] = ue.semestre_idx _ = do_module_create(tf[2]) @@ -719,6 +686,8 @@ def module_edit(module_id=None): """ + else: + sem_descr = "" # if tf[0] == 0: return "\n".join(H) + tf[1] + sem_descr + html_sco_header.sco_footer() diff --git a/app/templates/pn/form_mods.html b/app/templates/pn/form_mods.html index cba283478..e5ca79e5a 100644 --- a/app/templates/pn/form_mods.html +++ b/app/templates/pn/form_mods.html @@ -71,12 +71,12 @@ {% endfor %} - {% if editable and formation.ues.count() and formation.ues[0].matieres.count() %} + {% if editable and matiere_parent %}
  • {{create_element_msg}}