forked from ScoDoc/ScoDoc
Assiduité : correction bug moduleimpls edit_assiduite_etud
This commit is contained in:
parent
09f697941d
commit
7c7697631e
@ -405,6 +405,18 @@ class Identite(models.ScoDocModel):
|
||||
modimpls_by_formsemestre[formsemestre.id] = modimpls_sem
|
||||
return modimpls_by_formsemestre
|
||||
|
||||
def get_modimpls_from_formsemestre(
|
||||
self, formsemestre: "FormSemestre"
|
||||
) -> list["ModuleImpl"]:
|
||||
"""
|
||||
Liste des ModuleImpl auxquels l'étudiant est inscrit dans le formsemestre.
|
||||
"""
|
||||
modimpls = ModuleImpl.query.join(ModuleImplInscription).filter(
|
||||
ModuleImplInscription.etudid == self.id,
|
||||
ModuleImpl.formsemestre_id == formsemestre.id,
|
||||
)
|
||||
return modimpls.all()
|
||||
|
||||
@classmethod
|
||||
def convert_dict_fields(cls, args: dict) -> dict:
|
||||
"""Convert fields in the given dict. No other side effect.
|
||||
|
@ -2168,17 +2168,19 @@ def edit_assiduite_etud(assiduite_id: int):
|
||||
form.disable_all()
|
||||
|
||||
# peuplement moduleimpl_select
|
||||
modimpls_by_formsemestre = etud.get_modimpls_by_formsemestre(scu.annee_scolaire())
|
||||
choices: OrderedDict = OrderedDict()
|
||||
choices[""] = [("", "Non spécifié"), ("autre", "Autre module (pas dans la liste)")]
|
||||
|
||||
# indique le nom du semestre dans le menu (optgroup)
|
||||
group_name: str = formsemestre.titre_annee()
|
||||
choices[group_name] = [
|
||||
(m.id, f"{m.module.code} {m.module.abbrev or m.module.titre or ''}")
|
||||
for m in modimpls_by_formsemestre[formsemestre.id]
|
||||
if m.module.ue.type == UE_STANDARD
|
||||
]
|
||||
# Récupération des modulesimpl du semestre si existant.
|
||||
if formsemestre:
|
||||
# indique le nom du semestre dans le menu (optgroup)
|
||||
modimpls_from_formsemestre = etud.get_modimpls_from_formsemestre(formsemestre)
|
||||
group_name: str = formsemestre.titre_annee()
|
||||
choices[group_name] = [
|
||||
(m.id, f"{m.module.code} {m.module.abbrev or m.module.titre or ''}")
|
||||
for m in modimpls_from_formsemestre
|
||||
if m.module.ue.type == UE_STANDARD
|
||||
]
|
||||
|
||||
choices.move_to_end("", last=False)
|
||||
form.modimpl.choices = choices
|
||||
|
Loading…
Reference in New Issue
Block a user