forked from ScoDoc/ScoDoc
ignore UE et matières dans tri modules BUT (tableau bord sem.)
This commit is contained in:
parent
517ee8bd2d
commit
e5324e214c
@ -35,6 +35,7 @@ import app.scodoc.notesdb as ndb
|
|||||||
from app.scodoc.sco_permissions import Permission
|
from app.scodoc.sco_permissions import Permission
|
||||||
from app.scodoc.sco_exceptions import ScoValueError, AccessDenied
|
from app.scodoc.sco_exceptions import ScoValueError, AccessDenied
|
||||||
from app import log
|
from app import log
|
||||||
|
from app import models
|
||||||
from app.scodoc import scolog
|
from app.scodoc import scolog
|
||||||
from app.scodoc import sco_formsemestre
|
from app.scodoc import sco_formsemestre
|
||||||
from app.scodoc import sco_cache
|
from app.scodoc import sco_cache
|
||||||
@ -124,11 +125,11 @@ 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
|
||||||
):
|
) -> 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 semestre/UE/numero_matiere/numero_module.
|
||||||
|
(sauf pour le BUT: ignore UEs 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
|
||||||
@ -142,6 +143,8 @@ def moduleimpl_withmodule_list(
|
|||||||
"module_id": module_id,
|
"module_id": module_id,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
if not modimpls:
|
||||||
|
return []
|
||||||
ues = {}
|
ues = {}
|
||||||
matieres = {}
|
matieres = {}
|
||||||
modules = {}
|
modules = {}
|
||||||
@ -163,17 +166,30 @@ def moduleimpl_withmodule_list(
|
|||||||
)[0]
|
)[0]
|
||||||
mi["matiere"] = matieres[matiere_id]
|
mi["matiere"] = matieres[matiere_id]
|
||||||
|
|
||||||
# tri par semestre/UE/numero_matiere/numero_module
|
mod = modimpls[0]["module"]
|
||||||
modimpls.sort(
|
formation = models.Formation.query.get(mod["formation_id"])
|
||||||
key=lambda x: (
|
|
||||||
x["ue"]["numero"],
|
if formation.is_apc():
|
||||||
x["ue"]["ue_id"],
|
# tri par numero_module
|
||||||
x["matiere"]["numero"],
|
modimpls.sort(
|
||||||
x["matiere"]["matiere_id"],
|
key=lambda x: (
|
||||||
x["module"]["numero"],
|
x["module"]["numero"],
|
||||||
x["module"]["code"],
|
x["module"]["code"],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
# Formations classiques, avec matières:
|
||||||
|
# tri par semestre/UE/numero_matiere/numero_module
|
||||||
|
modimpls.sort(
|
||||||
|
key=lambda x: (
|
||||||
|
x["ue"]["numero"],
|
||||||
|
x["ue"]["ue_id"],
|
||||||
|
x["matiere"]["numero"],
|
||||||
|
x["matiere"]["matiere_id"],
|
||||||
|
x["module"]["numero"],
|
||||||
|
x["module"]["code"],
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
|
|
||||||
return modimpls
|
return modimpls
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user