Commit 4fe90834a7284a03b6aa5096207f6cb28374b7e7
1 parent
c76ef7b2
Exists in
master
and in
66 other branches
Fix bug with get default plot config request and templated parameters
Showing
2 changed files
with
23 additions
and
3 deletions
Show diff stats
src/InputOutput/IHMImpl/ParamInfo/IHMInputOutputParamInfoClass.php
@@ -31,7 +31,12 @@ class IHMInputOutputParamInfoClass implements InputOutputInterface | @@ -31,7 +31,12 @@ class IHMInputOutputParamInfoClass implements InputOutputInterface | ||
31 | 31 | ||
32 | if (!isset($input->paramId) || empty($input->paramId)) | 32 | if (!isset($input->paramId) || empty($input->paramId)) |
33 | throw new Exception("Param info request need a param id as argument"); | 33 | throw new Exception("Param info request need a param id as argument"); |
34 | - $paramFilePath = IHMConfigClass::getLocalParamDBPath().$input->paramId.".xml"; | 34 | + |
35 | + if ($this->paramTemplateMgr->isTemplatedParam($input->paramId)) | ||
36 | + //Use param template file | ||
37 | + $paramFilePath = $this->paramTemplateMgr->getTemplatePath($input->paramId); | ||
38 | + else | ||
39 | + $paramFilePath = IHMConfigClass::getLocalParamDBPath().$input->paramId.".xml"; | ||
35 | 40 | ||
36 | if (!file_exists($paramFilePath)) | 41 | if (!file_exists($paramFilePath)) |
37 | throw new Exception("Cannot find parameter definition file"); | 42 | throw new Exception("Cannot find parameter definition file"); |
@@ -189,7 +194,13 @@ class IHMInputOutputParamInfoClass implements InputOutputInterface | @@ -189,7 +194,13 @@ class IHMInputOutputParamInfoClass implements InputOutputInterface | ||
189 | if (!isset($paramsNode)) | 194 | if (!isset($paramsNode)) |
190 | return $result_data; | 195 | return $result_data; |
191 | 196 | ||
192 | - $paramNode = $paramsNode->getParamById($paramId); | 197 | + if ($this->paramTemplateMgr->isTemplatedParam($paramId)) |
198 | + //Use templated parameter | ||
199 | + $realParamId = $this->paramTemplateMgr->getTemplateFileName($paramId); | ||
200 | + else | ||
201 | + $realParamId = $paramId; | ||
202 | + | ||
203 | + $paramNode = $paramsNode->getParamById($realParamId); | ||
193 | 204 | ||
194 | if (!isset($paramNode) || (count($paramNode->getChildren()) < 1)) | 205 | if (!isset($paramNode) || (count($paramNode->getChildren()) < 1)) |
195 | return $result_data; | 206 | return $result_data; |
src/InputOutput/IHMImpl/Tools/IHMParamTemplateClass.php
@@ -182,13 +182,22 @@ class IHMParamTemplateClass | @@ -182,13 +182,22 @@ class IHMParamTemplateClass | ||
182 | /* | 182 | /* |
183 | * @brief Get template file path | 183 | * @brief Get template file path |
184 | */ | 184 | */ |
185 | - private function getTemplatePath($param_id) { | 185 | + public function getTemplatePath($param_id) { |
186 | if (!$this->isTemplatedParam($param_id)) | 186 | if (!$this->isTemplatedParam($param_id)) |
187 | return ""; | 187 | return ""; |
188 | return IHMConfigClass::getParamTemplateFilePath($this->paramTemplateList[$param_id]['fileName']); | 188 | return IHMConfigClass::getParamTemplateFilePath($this->paramTemplateList[$param_id]['fileName']); |
189 | } | 189 | } |
190 | 190 | ||
191 | /* | 191 | /* |
192 | + * | ||
193 | + */ | ||
194 | + public function getTemplateFileName($param_id) { | ||
195 | + if (!$this->isTemplatedParam($param_id)) | ||
196 | + return ""; | ||
197 | + return $this->paramTemplateList[$param_id]['fileName']; | ||
198 | + } | ||
199 | + | ||
200 | + /* | ||
192 | * @brief Replace args in string | 201 | * @brief Replace args in string |
193 | */ | 202 | */ |
194 | private function replaceArgs($string, $template_args) { | 203 | private function replaceArgs($string, $template_args) { |