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)
|
(portage from DTML)
|
||||||
"""
|
"""
|
||||||
import flask
|
import flask
|
||||||
from flask import url_for, render_template
|
from flask import flash, url_for, render_template
|
||||||
from flask import g, request
|
from flask import g, request
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
|
|
||||||
@ -915,13 +915,23 @@ def module_count_moduleimpls(module_id):
|
|||||||
return len(mods)
|
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"""
|
"""Création d'un module de "malus" dans chaque UE d'une formation"""
|
||||||
|
|
||||||
formation = Formation.query.get_or_404(formation_id)
|
formation = Formation.query.get_or_404(formation_id)
|
||||||
|
|
||||||
for ue in formation.ues:
|
nb = 0
|
||||||
ue_add_malus_module(ue, titre=titre)
|
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()
|
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]
|
modules_malus = [m for m in ue.modules if m.module_type == scu.ModuleType.MALUS]
|
||||||
if len(modules_malus) > 0:
|
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}"
|
code = code or f"MALUS{ue.numero}"
|
||||||
|
|
||||||
# Tout module doit avoir un semestre_id (indice 1, 2, ...)
|
# 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
|
# c'est ennuyeux: dans ce cas, on pourrait demander à indiquer explicitement
|
||||||
# le semestre ? ou affecter le malus au semestre 1 ???
|
# le semestre ? ou affecter le malus au semestre 1 ???
|
||||||
raise ScoValueError(
|
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:
|
else:
|
||||||
semestre_id = ue.semestre_idx
|
semestre_id = ue.semestre_idx
|
||||||
|
@ -739,7 +739,8 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
|
|||||||
else:
|
else:
|
||||||
descr_refcomp = f"""Référentiel de compétences:
|
descr_refcomp = f"""Référentiel de compétences:
|
||||||
<a href="{url_for('notes.refcomp_show',
|
<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}
|
{formation.referentiel_competence.type_titre} {formation.referentiel_competence.specialite_long}
|
||||||
</a> """
|
</a> """
|
||||||
msg_refcomp = "changer"
|
msg_refcomp = "changer"
|
||||||
@ -755,7 +756,7 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
|
|||||||
f"""</li>
|
f"""</li>
|
||||||
<li> <a class="stdlink" href="{
|
<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)
|
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>
|
</li>
|
||||||
</ul>
|
</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>
|
}">Créer une nouvelle version (non verrouillée)</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
H.append(
|
H.append(
|
||||||
|
@ -2066,6 +2066,10 @@ span.notes_module_list_buts {
|
|||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.formation_apc_infos ul li:not(:last-child) {
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
div.ue_list_tit {
|
div.ue_list_tit {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
|
@ -97,6 +97,16 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
>{{create_element_msg}}</a>
|
>{{create_element_msg}}</a>
|
||||||
</li>
|
</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 %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- mode: python -*-
|
# -*- mode: python -*-
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
SCOVERSION = "9.3.2"
|
SCOVERSION = "9.3.3"
|
||||||
|
|
||||||
SCONAME = "ScoDoc"
|
SCONAME = "ScoDoc"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user