N_OBJECT.OBJECT.supprime(self)
def getUserAssdPossible(self):
+ debug=False
+ if self.nom == 'ApplyOn' : debug = True
+ if debug : print ('____________', self, self.nom)
classeAChercher = self.definition.type
+ if debug : print ('____________', classeAChercher)
l=[]
dicoValeurs={}
d={}
+ if debug : print ('____________', self.definition.filtreVariables)
if self.definition.filtreVariables != None :
for (nomMC, Xpath) in self.definition.filtreVariables :
- # print (nomMC, Xpath)
+ if debug : print (nomMC, Xpath)
if Xpath == None : dicoValeurs[nomMC] = getattr(self,nomMC)
else :
try: #if 1 :
pereMC=eval(Xpath)
+ if debug : print ('pereMC :',pereMC)
if pereMC :
exp=Xpath+'.getChild("'+nomMC+'")'
leMotCle=eval(exp)
else : leMotCle=None
+ if debug : print ('leMotCle', leMotCle)
if leMotCle :
if leMotCle.val : dicoValeurs[nomMC]=leMotCle.val
elif leMotCle.definition.max != 1 : dicoValeurs[nomMC] = []
else : dicoValeurs[nomMC] = None
+ if debug : print ('dicoValeurs', dicoValeurs)
else :
#PN PN est-ce sur ? sinon quoi None ou []
# je pense que les 2 valeurs doivent ĂȘtre renseignees si le filtre depend de 2 valeurs
for k,v in self.parent.jdc.sdsDict.items():
if (isinstance(v, classeAChercher)) :
+ if debug : print ('je traite', v)
if self.definition.filtreExpression :
+ if debug : print ('expression', self.definition.filtreExpression)
+ if debug :
+ print (v.executeExpression(self.definition.filtreExpression ,dicoValeurs) )
try :
if v.executeExpression(self.definition.filtreExpression ,dicoValeurs) : l.append(v)
except :