diff --git a/app/scodoc/sco_formsemestre_edit.py b/app/scodoc/sco_formsemestre_edit.py index 49599ce5f7..2677a6e2f4 100644 --- a/app/scodoc/sco_formsemestre_edit.py +++ b/app/scodoc/sco_formsemestre_edit.py @@ -1236,12 +1236,11 @@ def formsemestre_associate_new_version( other_formsemestre_ids = [int(x) for x in other_formsemestre_ids] if not dialog_confirmed: # dresse le liste des semestres de la meme formation et version - sem = sco_formsemestre.get_formsemestre(formsemestre_id) - F = sco_formations.formation_list(args={"formation_id": sem["formation_id"]})[0] + formsemestre: FormSemestre = FormSemestre.query.get_or_404(formsemestre_id) othersems = sco_formsemestre.do_formsemestre_list( args={ - "formation_id": F["formation_id"], - "version": F["version"], + "formation_id": formsemestre.formation.id, + "version": formsemestre.formation.version, "etat": "1", }, ) @@ -1259,34 +1258,54 @@ def formsemestre_associate_new_version( else: disabled = "" H.append( - f"""
Le programme pédagogique ("formation") va être dupliqué pour que vous puissiez le modifier sans affecter les autres semestres. Les autres paramètres (étudiants, notes...) du semestre seront inchangés.
-Veillez à ne pas abuser de cette possibilité, car créer trop de versions de formations va vous compliquer la gestion (à vous de garder trace des différences et à ne pas vous tromper par la suite...). + f"""
Le programme pédagogique ("formation") va être dupliqué + pour que vous puissiez le modifier sans affecter les autres + semestres. Les autres paramètres (étudiants, notes...) du + semestre seront inchangés.
-Si vous voulez associer aussi d'autres semestres à la nouvelle version, cochez-les:
""" +Veillez à ne pas abuser de cette possibilité, car créer + trop de versions de formations va vous compliquer la gestion + (à vous de garder trace des différences et à ne pas vous + tromper par la suite...). +
+Si vous souhaitez créer un programme pour de futurs semestres, + utilisez plutôt Créer une nouvelle version. +
+Si vous voulez associer aussi d'autres semestres à la nouvelle + version, cochez-les: +
""" + "".join(H) + "A n'utiliser qu'en cas d'erreur lors de la saisie d'une formation. Normalement, -un semestre ne doit jamais être supprimé (on perd la mémoire des notes et de tous les événements liés à ce semestre !).
+un semestre ne doit jamais être supprimé +(on perd la mémoire des notes et de tous les événements liés à ce semestre !). + -Tous les modules de ce semestre seront supprimés. Ceci n'est possible que - si :
-Tous les modules de ce semestre seront supprimés. +Ceci n'est possible que si : +
+Attention: il y a %d évaluations dans ce semestre (sa suppression entrainera l'effacement définif des notes) !
""" - % len(evals) + f"""Attention: il y a {len(evals)} évaluations + dans ce semestre + (sa suppression entrainera l'effacement définif des notes) !
""" ) submit_label = ( - "Confirmer la suppression (du semestre et des %d évaluations !)" - % len(evals) + f"Confirmer la suppression (du semestre et des {len(evals)} évaluations !)" ) else: submit_label = "Confirmer la suppression du semestre" @@ -1397,7 +1419,7 @@ def formsemestre_delete(formsemestre_id): request.base_url, scu.get_request_args(), (("formsemestre_id", {"input_type": "hidden"}),), - initvalues=F, + initvalues=formsemestre.to_dict(), submitlabel=submit_label, cancelbutton="Annuler", ) @@ -1411,9 +1433,11 @@ def formsemestre_delete(formsemestre_id): return "\n".join(H) + html_sco_header.sco_footer() elif tf[0] == -1: # cancel return flask.redirect( - scu.NotesURL() - + "/formsemestre_status?formsemestre_id=" - + str(formsemestre_id) + url_for( + "notes.formsemestre_status", + scodoc_dept=g.scodoc_dept, + formsemestre_id=formsemestre_id, + ) ) else: return flask.redirect( diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py index 246a3c9afe..f7e0613443 100644 --- a/app/scodoc/sco_formsemestre_status.py +++ b/app/scodoc/sco_formsemestre_status.py @@ -770,13 +770,13 @@ def formsemestre_description( # genere liste html pour accès aux groupes de ce semestre -def _make_listes_sem(sem, with_absences=True): +def _make_listes_sem(formsemestre: FormSemestre, with_absences=True): # construit l'URL "destination" # (a laquelle on revient apres saisie absences) destination = url_for( "notes.formsemestre_status", scodoc_dept=g.scodoc_dept, - formsemestre_id=sem["formsemestre_id"], + formsemestre_id=formsemestre.id, ) # H = [] @@ -786,15 +786,16 @@ def _make_listes_sem(sem, with_absences=True): # H.append( - '