Parcourt l'arborescence des mcobject et realise l'update
des blocs conditionnels par appel de la methode updateConditionBloc
"""
- #print ('js suis dans deepUpdateConditionBloc', self.nom)
self._updateConditionBloc()
for mcobj in self.mcListe:
if hasattr(mcobj,"deepUpdateConditionBloc"):
Realise l'update des blocs conditionnels fils de self
"""
dict = self.creeDictCondition(self.mcListe,condition=1)
+ doitEtreReecrit=False
for k,v in self.definition.entites.items():
if v.label != 'BLOC' :continue
globs= self.jdc and self.jdc.condition_context or {}
# le bloc est present : il faut l'enlever
#print ("SUPPRESSION BLOC",k,bloc)
self.suppEntite(bloc)
+ doitEtreReecrit=True
def verifConditionBloc(self):
"""
+ 2021 : obsolete ?
Evalue les conditions de tous les blocs fils possibles
(en fonction du catalogue donc de la definition) de self
et retourne deux listes :
self.etape.deepUpdateConditionBloc()
elif self.definition.position == 'reCalculeEtape' :
self.etape.deepUpdateConditionBloc()
+ self.etape.demandeRedessine()
elif self.definition.position == 'global_jdc' :
self.jdc.deepUpdateConditionBloc(self)
+ self.etape.demandeRedessine()
elif self.definition.position == 'inGetAttribut' :
self.jdc.deepUpdateConditionBloc(self)
else:
self.parent.updateConditionBloc()
def setValeur(self,new_valeur,evaluation='oui'):
- self.initModif()
- self.valeur = new_valeur
- self.val = new_valeur
- if self.valeur and self.waitUserAssd() and not(self.waitUserAssdOrAssdMultipleEnCreation()) :
- if type(self.valeur) in (list,tuple):
- for v in self.valeur : v.ajoutUtilisePar(self)
- else : self.valeur.ajoutUtilisePar(self)
- if self.isValid():self.setValeurObjPyxb(new_valeur)
- self.updateConditionBloc()
- if self.definition.metAJour != None : self.updateAutresMotsClefs()
- self.etape.modified()
- self.finModif()
- return 1
+ self.initModif()
+ self.valeur = new_valeur
+ self.val = new_valeur
+ if self.valeur and self.waitUserAssd() and not(self.waitUserAssdOrAssdMultipleEnCreation()) :
+ if type(self.valeur) in (list,tuple):
+ for v in self.valeur : v.ajoutUtilisePar(self)
+ else : self.valeur.ajoutUtilisePar(self)
+ if self.isValid():self.setValeurObjPyxb(new_valeur)
+ self.updateConditionBloc()
+ if self.definition.metAJour != None : self.updateAutresMotsClefs()
+ self.etape.modified()
+ self.finModif()
+ return 1
def evalValeur(self,new_valeur):
"""
self.finModif()
def renommeSdCree(self,nouveauNom):
- #print ( 'dans renommeSdCree', self.jdc.sdsDict, self.valeur)
if nouveauNom in self.jdc.sdsDict : return (0, 'concept deja existant')
if self.valeur == None : return (0, 'pb sur la valeur')
else : self.valeur.renomme(nouveauNom)
return (1, 'concept renomme')
def renommeSdCreeDsListe(self,objASSD, nouveauNom):
+ #print ( 'dans renommeSdCree', self.jdc.sdsDict, self.valeur, nouveauNom)
if nouveauNom in self.jdc.sdsDict : return (0, 'concept deja existant')
objASSD.renomme(nouveauNom)
return (1, 'concept renomme')