présentation UE/modules en mode BUT

This commit is contained in:
Emmanuel Viennet 2021-12-12 12:32:21 +01:00
parent 44d2ffb240
commit abc7fb3378
3 changed files with 28 additions and 10 deletions

View File

@ -598,7 +598,9 @@ def formsemestre_description_table(formsemestre_id, with_evals=False):
use_ue_coefs = sco_preferences.get_preference("use_ue_coefs", formsemestre_id) use_ue_coefs = sco_preferences.get_preference("use_ue_coefs", formsemestre_id)
F = sco_formations.formation_list(args={"formation_id": sem["formation_id"]})[0] F = sco_formations.formation_list(args={"formation_id": sem["formation_id"]})[0]
parcours = sco_codes_parcours.get_parcours_from_code(F["type_parcours"]) parcours = sco_codes_parcours.get_parcours_from_code(F["type_parcours"])
Mlist = sco_moduleimpl.moduleimpl_withmodule_list(formsemestre_id=formsemestre_id) Mlist = sco_moduleimpl.moduleimpl_withmodule_list(
formsemestre_id=formsemestre_id, sort_by_ue=True
)
R = [] R = []
sum_coef = 0 sum_coef = 0

View File

@ -124,12 +124,14 @@ def do_moduleimpl_edit(args, formsemestre_id=None, cnx=None):
def moduleimpl_withmodule_list( def moduleimpl_withmodule_list(
moduleimpl_id=None, formsemestre_id=None, module_id=None moduleimpl_id=None, formsemestre_id=None, module_id=None, sort_by_ue=False
) -> list: ) -> list:
"""Liste les moduleimpls et ajoute dans chacun """Liste les moduleimpls et ajoute dans chacun
l'UE, la matière et le module auxquels ils appartiennent. l'UE, la matière et le module auxquels ils appartiennent.
Tri la liste par semestre/UE/numero_matiere/numero_module. Tri la liste par:
(sauf pour le BUT: ignore UEs et matières dans le tri) - pour les formations classiques: semestre/UE/numero_matiere/numero_module;
- pour le BUT: ignore UEs sauf si sort_by_ue et matières dans le tri.
Attention: Cette fonction fait partie de l'API ScoDoc 7 et est publiée. Attention: Cette fonction fait partie de l'API ScoDoc 7 et est publiée.
""" """
from app.scodoc import sco_edit_ue from app.scodoc import sco_edit_ue
@ -171,12 +173,24 @@ def moduleimpl_withmodule_list(
if formation.is_apc(): if formation.is_apc():
# tri par numero_module # tri par numero_module
modimpls.sort( if sort_by_ue:
key=lambda x: ( modimpls.sort(
x["module"]["numero"], key=lambda x: (
x["module"]["code"], x["ue"]["numero"],
x["ue"]["ue_id"],
x["module"]["module_type"],
x["module"]["numero"],
x["module"]["code"],
)
)
else:
modimpls.sort(
key=lambda x: (
x["module"]["module_type"],
x["module"]["numero"],
x["module"]["code"],
)
) )
)
else: else:
# Formations classiques, avec matières: # Formations classiques, avec matières:
# tri par semestre/UE/numero_matiere/numero_module # tri par semestre/UE/numero_matiere/numero_module

View File

@ -263,7 +263,9 @@ def moduleimpl_inscriptions_stats(formsemestre_id):
can_change = authuser.has_permission(Permission.ScoEtudInscrit) and sem["etat"] can_change = authuser.has_permission(Permission.ScoEtudInscrit) and sem["etat"]
# Liste des modules # Liste des modules
Mlist = sco_moduleimpl.moduleimpl_withmodule_list(formsemestre_id=formsemestre_id) Mlist = sco_moduleimpl.moduleimpl_withmodule_list(
formsemestre_id=formsemestre_id, sort_by_ue=True
)
# Decrit les inscriptions aux modules: # Decrit les inscriptions aux modules:
commons = [] # modules communs a tous les etuds du semestre commons = [] # modules communs a tous les etuds du semestre
options = [] # modules ou seuls quelques etudiants sont inscrits options = [] # modules ou seuls quelques etudiants sont inscrits