EDT: plusieurs edt_id de groupes par groupe scodoc

This commit is contained in:
Emmanuel Viennet 2023-11-21 11:31:22 +01:00
parent 30934f72b4
commit 58c5d61648
4 changed files with 9 additions and 7 deletions

View File

@ -247,9 +247,9 @@ class GroupDescr(db.Model):
d["partition"] = self.partition.to_dict(with_groups=False)
return d
def get_edt_id(self) -> str:
"l'id pour l'emploi du temps: à défaut, le nom scodoc du groupe"
return self.edt_id or self.group_name or ""
def get_edt_ids(self) -> list[str]:
"les ids pour l'emploi du temps: à défaut, le nom scodoc du groupe"
return scu.split_id(self.edt_id) or [self.group_name] or []
def get_nb_inscrits(self) -> int:
"""Nombre inscrits à ce group et au formsemestre.

View File

@ -408,6 +408,7 @@ def formsemestre_retreive_groups_from_edt_id(
"""Construit un dict donnant le groupe de chaque edt_id"""
edt2group = {}
for partition in formsemestre.partitions:
edt2group.update({g.get_edt_id(): g for g in partition.groups})
edt2group.pop("", None)
for g in partition.groups:
for edt_id in g.get_edt_ids():
edt2group[edt_id] = g
return edt2group

View File

@ -101,7 +101,8 @@ def group_rename(group_id):
"allow_null": True,
"explanation": """optionnel : identifiant du groupe dans le logiciel
d'emploi du temps, pour le cas où les noms de groupes ne seraient pas
les mêmes dans ScoDoc et dans l'emploi du temps.""",
les mêmes dans ScoDoc et dans l'emploi du temps (si plusieurs ids,
les séparer par des virgules).""",
},
),
),

View File

@ -1,7 +1,7 @@
# -*- mode: python -*-
# -*- coding: utf-8 -*-
SCOVERSION = "9.6.59"
SCOVERSION = "9.6.60"
SCONAME = "ScoDoc"