sub attributes not allowed

This commit is contained in:
gwen 2024-07-11 17:13:28 +02:00
parent e9896b8a2b
commit a2bfa2eed9
2 changed files with 4 additions and 36 deletions

View file

@ -442,17 +442,17 @@ class Variable(Common):
self.calls, self.elt.path
)
if self.elt.type == "choice":
keys["values"] = self.populate_calculation(self.elt.choices, return_a_tuple=True)
raise DictConsistencyError("Sub-attributes not allowed in a 'choices' attribute", 100, self.elt.xmlfiles)
if self.elt.path in self.objectspace.multis:
keys["multi"] = self.objectspace.multis[self.elt.path]
if not hasattr(self.elt, "default"):
print('FIXME CA EXISTE!!!')
if hasattr(self.elt, "default") and self.elt.default is not None:
try:
keys["default"] = self.populate_calculation(self.elt.default)
except VariableCalculationDependencyError:
pass
# mettre dans tous les populate_calculation()
for attribute in ['frozen', 'hidden', "mandatory", "disabled"]:
if hasattr(self.elt, attribute):
raise DictConsistencyError(f"Sub-attributes not allowed in a '{attribute}' attribute", 100, self.elt.xmlfiles)
if self.elt.path in self.objectspace.default_multi:
keys["default_multi"] = self.populate_calculation(self.objectspace.default_multi[self.elt.path])
if self.elt.validators:

View file

@ -1,32 +0,0 @@
---
version: 1.1
var1:
default:
type: jinja
jinja: |
val
params:
var1:
type: variable
variable: _.var2
optional: true
---
version: 1.1
var1:
default:
type: variable
variable: _.var2
optional: true
---
<gnunux_recto> le 1er dico fonctionne
<gnunux_recto> si on fait une variable dans un parametre on peut la mettre optionnelle (si la variable est déclaré ca passe la variable en parametre, si la variable n'existe pas ca ne passe pas le parametre)
<gnunux_recto> dans notre cas la variable n'existe pas donc ne passe pas le parametre
<gnunux_recto> dans le 2eme ca on ne fait pas un calcul via jinja mais récupère directement la valeur de la variable
<gnunux_recto> sauf que le optional n'existe pas pour un calcul (juste pour un parametre)
<gnunux_recto> faudrait :
<gnunux_recto> 1/ ajouter cette possibilité
<gnunux_recto> voir s'il n'y a pas d'autres manque
<gnunux_recto> (c'étaot ele 2)