Améliore synchro groupes de parcours / parcours du formsemestre. Closes #508.
This commit is contained in:
parent
772ea2941b
commit
da0388f8b1
@ -597,6 +597,23 @@ class FormSemestre(db.Model):
|
|||||||
).first()
|
).first()
|
||||||
if not group:
|
if not group:
|
||||||
partition.groups.append(GroupDescr(group_name=parcour.code))
|
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()
|
db.session.commit()
|
||||||
|
|
||||||
def update_inscriptions_parcours_from_groups(self) -> None:
|
def update_inscriptions_parcours_from_groups(self) -> None:
|
||||||
|
@ -931,6 +931,8 @@ def do_formsemestre_createwithmodules(edit=False, formsemestre: FormSemestre = N
|
|||||||
db.session.commit()
|
db.session.commit()
|
||||||
# --- Crée ou met à jour les groupes de parcours BUT
|
# --- Crée ou met à jour les groupes de parcours BUT
|
||||||
formsemestre.setup_parcours_groups()
|
formsemestre.setup_parcours_groups()
|
||||||
|
# peut être nécessaire dans certains cas:
|
||||||
|
formsemestre.update_inscriptions_parcours_from_groups()
|
||||||
# --- Fin
|
# --- Fin
|
||||||
if edit:
|
if edit:
|
||||||
if msg:
|
if msg:
|
||||||
|
Loading…
Reference in New Issue
Block a user