From 58c5d61648a643d07b57a66fe18dfc5213b5c4e2 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Tue, 21 Nov 2023 11:31:22 +0100 Subject: [PATCH] EDT: plusieurs edt_id de groupes par groupe scodoc --- app/models/groups.py | 6 +++--- app/scodoc/sco_edt_cal.py | 5 +++-- app/scodoc/sco_groups_edit.py | 3 ++- sco_version.py | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/models/groups.py b/app/models/groups.py index 8e8791ca..72a54acf 100644 --- a/app/models/groups.py +++ b/app/models/groups.py @@ -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. diff --git a/app/scodoc/sco_edt_cal.py b/app/scodoc/sco_edt_cal.py index 7aebfce7..7f60dda9 100644 --- a/app/scodoc/sco_edt_cal.py +++ b/app/scodoc/sco_edt_cal.py @@ -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 diff --git a/app/scodoc/sco_groups_edit.py b/app/scodoc/sco_groups_edit.py index f30d2ab2..6c6cfd42 100644 --- a/app/scodoc/sco_groups_edit.py +++ b/app/scodoc/sco_groups_edit.py @@ -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).""", }, ), ), diff --git a/sco_version.py b/sco_version.py index 12c81cd0..21b533cd 100644 --- a/sco_version.py +++ b/sco_version.py @@ -1,7 +1,7 @@ # -*- mode: python -*- # -*- coding: utf-8 -*- -SCOVERSION = "9.6.59" +SCOVERSION = "9.6.60" SCONAME = "ScoDoc"