Salome HOME
PN bug
[tools/eficas.git] / Validation / V_MACRO_ETAPE.py
index 3dffb93fe6d84bb68cd810e1c0e07e2869a33d60..5c2186150f28cc841439f8c55ec405391929770b 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_MACRO_ETAPE Validation  DATE 26/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MACRO_ETAPE Validation  DATE 22/02/2005   AUTEUR DURAND C.DURAND 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe mixin MACRO_ETAPE qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MACRO_ETAPE
@@ -62,7 +64,21 @@ class MACRO_ETAPE(V_ETAPE.ETAPE):
       if self.state == 'unchanged' :
         return self.valid
       else:
-        valid=self.valid_child()
+        valid=1
+        # On marque les concepts CO pour verification ulterieure de leur bonne utilisation
+        l=self.mark_CO()
+        # On verifie que les concepts CO sont bien passes par type_sdprod
+        for c in l:
+          if c.etape is self.parent:
+             # le concept est propriete de l'etape parent
+             # Il n'a pas ete transforme par type_sdprod
+             # Cette situation est interdite
+             # Pb: La macro-commande a passe le concept a une commande (macro ?) mal definie
+             if cr =='oui': 
+               self.cr.fatal("Macro-commande mal definie : manque probablement appel a type_sdprod pour %s" % c.nom)
+             valid=0
+
+        valid=valid * self.valid_child()
         valid=valid * self.valid_regles(cr)
 
         if self.reste_val != {}: