Facilie l'ajout de modules de malus sur les UE BUT
This commit is contained in:
parent
4ae831c3ac
commit
8dd3f6396d
@ -29,7 +29,7 @@
|
||||
(portage from DTML)
|
||||
"""
|
||||
import flask
|
||||
from flask import url_for, render_template
|
||||
from flask import flash, url_for, render_template
|
||||
from flask import g, request
|
||||
from flask_login import current_user
|
||||
|
||||
@ -915,13 +915,23 @@ def module_count_moduleimpls(module_id):
|
||||
return len(mods)
|
||||
|
||||
|
||||
def formation_add_malus_modules(formation_id, titre=None, redirect=True):
|
||||
def formation_add_malus_modules(
|
||||
formation_id: int, semestre_id: int = None, titre=None, redirect=True
|
||||
):
|
||||
"""Création d'un module de "malus" dans chaque UE d'une formation"""
|
||||
|
||||
formation = Formation.query.get_or_404(formation_id)
|
||||
|
||||
for ue in formation.ues:
|
||||
ue_add_malus_module(ue, titre=titre)
|
||||
nb = 0
|
||||
ues = formation.ues
|
||||
if semestre_id is not None:
|
||||
ues = ues.filter_by(semestre_idx=semestre_id)
|
||||
for ue in ues:
|
||||
if ue.type == sco_codes_parcours.UE_STANDARD:
|
||||
if ue_add_malus_module(ue, titre=titre) != None:
|
||||
nb += 1
|
||||
|
||||
flash(f"Modules de malus ajoutés dans {nb} UEs du S{semestre_id}")
|
||||
|
||||
formation.invalidate_cached_sems()
|
||||
|
||||
@ -940,9 +950,9 @@ def ue_add_malus_module(ue: UniteEns, titre=None, code=None) -> int:
|
||||
"""
|
||||
modules_malus = [m for m in ue.modules if m.module_type == scu.ModuleType.MALUS]
|
||||
if len(modules_malus) > 0:
|
||||
return modules_malus[0].id # déjà existant
|
||||
return None # déjà existant
|
||||
|
||||
titre = titre or ""
|
||||
titre = titre or f"Malus {ue.acronyme}"
|
||||
code = code or f"MALUS{ue.numero}"
|
||||
|
||||
# Tout module doit avoir un semestre_id (indice 1, 2, ...)
|
||||
@ -954,7 +964,7 @@ def ue_add_malus_module(ue: UniteEns, titre=None, code=None) -> int:
|
||||
# c'est ennuyeux: dans ce cas, on pourrait demander à indiquer explicitement
|
||||
# le semestre ? ou affecter le malus au semestre 1 ???
|
||||
raise ScoValueError(
|
||||
"Impossible d'ajouter un malus s'il n'y a pas d'autres modules"
|
||||
"Impossible d'ajouter un malus si l'UE n'a pas de numéro de semestre et ne comporte pas d'autres modules"
|
||||
)
|
||||
else:
|
||||
semestre_id = ue.semestre_idx
|
||||
|
@ -739,7 +739,8 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
|
||||
else:
|
||||
descr_refcomp = f"""Référentiel de compétences:
|
||||
<a href="{url_for('notes.refcomp_show',
|
||||
scodoc_dept=g.scodoc_dept, refcomp_id=formation.referentiel_competence.id)}">
|
||||
scodoc_dept=g.scodoc_dept, refcomp_id=formation.referentiel_competence.id)}"
|
||||
class="stdlink">
|
||||
{formation.referentiel_competence.type_titre} {formation.referentiel_competence.specialite_long}
|
||||
</a> """
|
||||
msg_refcomp = "changer"
|
||||
@ -755,7 +756,7 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
|
||||
f"""</li>
|
||||
<li> <a class="stdlink" href="{
|
||||
url_for('notes.edit_modules_ue_coefs', scodoc_dept=g.scodoc_dept, formation_id=formation_id, semestre_idx=semestre_idx)
|
||||
}">éditer les coefficients des ressources et SAÉs</a>
|
||||
}">Éditer les coefficients des ressources et SAÉs</a>
|
||||
</li>
|
||||
</ul>
|
||||
"""
|
||||
@ -844,6 +845,7 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
|
||||
)
|
||||
}">Créer une nouvelle version (non verrouillée)</a>
|
||||
</li>
|
||||
|
||||
"""
|
||||
)
|
||||
H.append(
|
||||
|
@ -2066,6 +2066,10 @@ span.notes_module_list_buts {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.formation_apc_infos ul li:not(:last-child) {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
div.ue_list_tit {
|
||||
font-weight: bold;
|
||||
margin-top: 5px;
|
||||
|
@ -94,9 +94,19 @@
|
||||
formation_id=formation.id,
|
||||
semestre_id=semestre_id,
|
||||
)}}"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
>{{create_element_msg}}</a>
|
||||
</li>
|
||||
|
||||
{% if module_type==scu.ModuleType.STANDARD %}
|
||||
<li><a href="{{
|
||||
url_for('notes.formation_add_malus_modules',
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
formation_id=formation.id,
|
||||
semestre_id=semestre_id)
|
||||
}}" class="stdlink">ajouter un module de malus dans chaque UE du S{{semestre_id}}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
@ -1,7 +1,7 @@
|
||||
# -*- mode: python -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
SCOVERSION = "9.3.2"
|
||||
SCOVERSION = "9.3.3"
|
||||
|
||||
SCONAME = "ScoDoc"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user