Commit d1a35428381d09467c0422fb8521ba5f8a6a425f
1 parent
cb46dfbf
Exists in
master
and in
62 other branches
Update template arguments when a templated parameter is used by a local parameter (fix #6462)
Showing
1 changed file
with
8 additions
and
4 deletions
Show diff stats
src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php
... | ... | @@ -24,7 +24,7 @@ class IHMParamManagerClass |
24 | 24 | * @brief Add an existing parameter |
25 | 25 | */ |
26 | 26 | public function addExistingParam($param, $paramsData, $templateArgs = NULL, $tableLink = NULL) |
27 | - { | |
27 | + { | |
28 | 28 | if ($this->isDerivedParam($param)) |
29 | 29 | return $this->addDerivedParam($param,$paramsData); |
30 | 30 | else if ($this->isUploadedParam($param)) |
... | ... | @@ -157,6 +157,7 @@ class IHMParamManagerClass |
157 | 157 | if (empty($linkedParamId)) |
158 | 158 | continue; |
159 | 159 | $template_id = $this->templateParamsManager->getTemplateId($linkedParamId); |
160 | + $tempArgs = isset($templateArgs) ? $templateArgs : array(); | |
160 | 161 | if ($template_id !== FALSE) { |
161 | 162 | $linkedParamId = $template_id; |
162 | 163 | } |
... | ... | @@ -165,12 +166,15 @@ class IHMParamManagerClass |
165 | 166 | $parsedParam = $this->templateParamsManager->parseTemplatedParam($linkedParamId); |
166 | 167 | if ($parsedParam !== FALSE) { |
167 | 168 | $linkedParamId = $parsedParam['paramid']; |
169 | + foreach ($parsedParam['template_args'] as $key => $val) { | |
170 | + $tempArgs[$key] = $val; | |
171 | + } | |
168 | 172 | } |
169 | 173 | } |
170 | 174 | |
171 | 175 | if ($this->templateParamsManager->isTemplatedParam($linkedParamId)) { |
172 | - $linkedParamPath = $this->templateParamsManager->generateTemplatedParamFile($linkedParamId, $templateArgs); | |
173 | - $real_linked_param_id = $this->templateParamsManager->getTemplatedParamId($linkedParamId, $templateArgs); | |
176 | + $linkedParamPath = $this->templateParamsManager->generateTemplatedParamFile($linkedParamId, $tempArgs); | |
177 | + $real_linked_param_id = $this->templateParamsManager->getTemplatedParamId($linkedParamId, $tempArgs); | |
174 | 178 | } |
175 | 179 | else { |
176 | 180 | $real_linked_param_id = $linkedParamId; |
... | ... | @@ -210,7 +214,7 @@ class IHMParamManagerClass |
210 | 214 | |
211 | 215 | return array("id" => $paramId, "indexes" => array(), "calib_infos" => array()); |
212 | 216 | } |
213 | - | |
217 | + | |
214 | 218 | /* |
215 | 219 | * @brief Add IMPEX parameter : create dynamically xml parameter descriptor in user WS |
216 | 220 | */ |
... | ... |