From bde51dc6391dccca6f8342a2e36b32a07aa249ff Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Wed, 8 Jun 2022 17:42:52 +0200 Subject: [PATCH] Fix: check suppression formation/ue --- app/models/ues.py | 9 +++++++++ app/scodoc/sco_edit_formation.py | 5 +++-- app/scodoc/sco_edit_ue.py | 16 ++++------------ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/app/models/ues.py b/app/models/ues.py index 518bd7219..48d81a14f 100644 --- a/app/models/ues.py +++ b/app/models/ues.py @@ -75,6 +75,15 @@ class UniteEns(db.Model): return sco_edit_ue.ue_is_locked(self.id) + def can_be_deleted(self) -> bool: + """True si l'UE n'est pas utilisée dans des formsemestre + et n'a pas de module rattachés + """ + # "pas un seul module de cette UE n'a de modimpl..."" + return (self.modules.count() == 0) or not any( + m.modimpls.all() for m in self.modules + ) + def guess_semestre_idx(self) -> None: """Lorsqu'on prend une ancienne formation non APC, les UE n'ont pas d'indication de semestre. diff --git a/app/scodoc/sco_edit_formation.py b/app/scodoc/sco_edit_formation.py index aabfaddce..606fc7421 100644 --- a/app/scodoc/sco_edit_formation.py +++ b/app/scodoc/sco_edit_formation.py @@ -66,8 +66,9 @@ def formation_delete(formation_id=None, dialog_confirmed=False): sems = sco_formsemestre.do_formsemestre_list({"formation_id": formation_id}) if sems: H.append( - """

Impossible de supprimer cette formation, car les sessions suivantes l'utilisent:

-