Groupes de parcours: API, avertissements.

This commit is contained in:
Emmanuel Viennet 2022-12-17 10:05:13 -03:00
parent 5448c63c49
commit de89fa7dbc
3 changed files with 8 additions and 6 deletions

View File

@ -176,7 +176,7 @@ class FormSemestre(db.Model):
d["responsables"] = [u.id for u in self.responsables] d["responsables"] = [u.id for u in self.responsables]
d["titre_formation"] = self.titre_formation() d["titre_formation"] = self.titre_formation()
if convert_objects: if convert_objects:
d["parcours"] = [p.to_dict() for p in self.parcours] d["parcours"] = [p.to_dict() for p in self.get_parcours_apc()]
d["departement"] = self.departement.to_dict() d["departement"] = self.departement.to_dict()
d["formation"] = self.formation.to_dict() d["formation"] = self.formation.to_dict()
d["etape_apo"] = self.etapes_apo_str() d["etape_apo"] = self.etapes_apo_str()
@ -203,7 +203,7 @@ class FormSemestre(db.Model):
d["etape_apo"] = self.etapes_apo_str() d["etape_apo"] = self.etapes_apo_str()
d["formsemestre_id"] = self.id d["formsemestre_id"] = self.id
d["formation"] = self.formation.to_dict() d["formation"] = self.formation.to_dict()
d["parcours"] = [p.to_dict() for p in self.parcours] d["parcours"] = [p.to_dict() for p in self.get_parcours_apc()]
d["responsables"] = [u.id for u in self.responsables] d["responsables"] = [u.id for u in self.responsables]
d["titre_court"] = self.formation.acronyme d["titre_court"] = self.formation.acronyme
d["titre_num"] = self.titre_num() d["titre_num"] = self.titre_num()
@ -696,7 +696,7 @@ class FormSemestre(db.Model):
# - s'ils n'ont pas d'inscrits, supprime-les. # - s'ils n'ont pas d'inscrits, supprime-les.
# - s'ils ont des inscrits: avertissement # - s'ils ont des inscrits: avertissement
for group in GroupDescr.query.filter_by(partition_id=partition.id): for group in GroupDescr.query.filter_by(partition_id=partition.id):
if group.group_name not in (p.code for p in self.parcours): if group.group_name not in (p.code for p in self.get_parcours_apc()):
if ( if (
len( len(
[ [

View File

@ -562,7 +562,7 @@ def do_formsemestre_createwithmodules(edit=False, formsemestre: FormSemestre = N
] ]
if edit: if edit:
initvalues["parcours"] = [ initvalues["parcours"] = [
str(parcour.id) for parcour in formsemestre.parcours str(parcour.id) for parcour in formsemestre.get_parcours_apc()
] ]
else: else:
modform += [ modform += [
@ -961,6 +961,7 @@ def do_formsemestre_createwithmodules(edit=False, formsemestre: FormSemestre = N
"notes.formsemestre_status", "notes.formsemestre_status",
scodoc_dept=g.scodoc_dept, scodoc_dept=g.scodoc_dept,
formsemestre_id=formsemestre.id, formsemestre_id=formsemestre.id,
check_parcours=0,
) )
) )
else: else:

View File

@ -1040,7 +1040,7 @@ def formsemestre_status_head(formsemestre_id: int = None, page_title: str = None
return "".join(H) return "".join(H)
def formsemestre_status(formsemestre_id=None): def formsemestre_status(formsemestre_id=None, check_parcours=True):
"""Tableau de bord semestre HTML""" """Tableau de bord semestre HTML"""
# porté du DTML # porté du DTML
if formsemestre_id is not None and not isinstance(formsemestre_id, int): if formsemestre_id is not None and not isinstance(formsemestre_id, int):
@ -1049,6 +1049,7 @@ def formsemestre_status(formsemestre_id=None):
) )
formsemestre: FormSemestre = FormSemestre.query.get_or_404(formsemestre_id) formsemestre: FormSemestre = FormSemestre.query.get_or_404(formsemestre_id)
# S'assure que les groupes de parcours sont à jour: # S'assure que les groupes de parcours sont à jour:
if int(check_parcours):
formsemestre.setup_parcours_groups() formsemestre.setup_parcours_groups()
modimpls = sco_moduleimpl.moduleimpl_withmodule_list( modimpls = sco_moduleimpl.moduleimpl_withmodule_list(
formsemestre_id=formsemestre_id formsemestre_id=formsemestre_id