Améliore synchro groupes de parcours / parcours du formsemestre. Closes #508.
This commit is contained in:
parent
a730bf759b
commit
20b13b05cf
@ -597,6 +597,23 @@ class FormSemestre(db.Model):
|
||||
).first()
|
||||
if not group:
|
||||
partition.groups.append(GroupDescr(group_name=parcour.code))
|
||||
db.session.flush()
|
||||
# S'il reste des groupes de parcours qui ne sont plus dans le semestre
|
||||
# et qui n'ont pas d'inscrits, supprime-les.
|
||||
for group in GroupDescr.query.filter_by(partition_id=partition.id):
|
||||
if (group.group_name not in (p.code for p in self.parcours)) and (
|
||||
len(
|
||||
[
|
||||
inscr
|
||||
for inscr in self.inscriptions
|
||||
if inscr.parcour.code == group.group_name
|
||||
]
|
||||
)
|
||||
== 0
|
||||
):
|
||||
flash(f"suppression du groupe de parcours {group.group_name}")
|
||||
db.session.delete(group)
|
||||
|
||||
db.session.commit()
|
||||
|
||||
def update_inscriptions_parcours_from_groups(self) -> None:
|
||||
|
@ -931,6 +931,8 @@ def do_formsemestre_createwithmodules(edit=False, formsemestre: FormSemestre = N
|
||||
db.session.commit()
|
||||
# --- Crée ou met à jour les groupes de parcours BUT
|
||||
formsemestre.setup_parcours_groups()
|
||||
# peut être nécessaire dans certains cas:
|
||||
formsemestre.update_inscriptions_parcours_from_groups()
|
||||
# --- Fin
|
||||
if edit:
|
||||
if msg:
|
||||
|
Loading…
Reference in New Issue
Block a user