##############################################################################
# ScoDoc
# Copyright (c) 1999 - 2022 Emmanuel Viennet. All rights reserved.
# See LICENSE
##############################################################################
"""
Edition associations UE <-> Ref. Compétence
"""
from flask import g, url_for
from app import db, log
from app.models import UniteEns
from app.models.but_refcomp import ApcNiveau
def form_ue_choix_niveau(ue: UniteEns) -> str:
"""Form. HTML pour associer une UE à un niveau de compétence"""
ref_comp = ue.formation.referentiel_competence
if ref_comp is None:
return """
pas de référentiel de compétence
"""
annee = (ue.semestre_idx + 1) // 2 # 1, 2, 3
niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(annee)
options = []
if niveaux_by_parcours["TC"]:
options.append("""""")
for parcour in ref_comp.parcours:
if len(niveaux_by_parcours[parcour.id]):
options.append(f"""""")
options_str = "\n".join(options)
return f"""
"""
def set_ue_niveau_competence(ue_id: int, niveau_id: int):
"""Associe le niveau et l'UE"""
log(f"set_ue_niveau_competence( {ue_id}, {niveau_id} )")
ue = UniteEns.query.get_or_404(ue_id)
if niveau_id == "":
# suppression de l'association
ue.niveau_competence = None
else:
niveau = ApcNiveau.query.get_or_404(niveau_id)
ue.niveau_competence = niveau
db.session.add(ue)
db.session.commit()
return "", 204