-#@ MODIF V_MACRO_ETAPE Validation DATE 06/01/2003 AUTEUR ASSIRE A.ASSIRE
+#@ 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
#
#
# ======================================================================
+
+
"""
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
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 != {}:
"""
Cette méthode met à jour le concept produit en fonction des conditions initiales :
- - Il n'y a pas de concept retourné (self.definition.sd_prod == None)
+ 1- Il n'y a pas de concept retourné (self.definition.sd_prod == None)
- - Le concept retourné n existait pas (self.sd == None)
+ 2- Le concept retourné n existait pas (self.sd == None)
- - Le concept retourné existait. On change alors son type ou on le supprime
+ 3- Le concept retourné existait. On change alors son type ou on le supprime
En cas d'erreur (exception) on retourne un indicateur de validité de 0 sinon de 1
"""