From: Marcin Haba Date: Wed, 24 Apr 2019 06:02:58 +0000 (+0200) Subject: baculum: Add parent node property to directive list types X-Git-Tag: Release-9.4.3~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=25144a435362250b776a1f1f08a3c7527fd16458;p=thirdparty%2Fbacula.git baculum: Add parent node property to directive list types --- diff --git a/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php b/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php index 3e768e1c7..be72e3c7b 100644 --- a/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php +++ b/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php @@ -273,6 +273,10 @@ class BaculaConfigDirectives extends DirectiveListTemplate { for ($i = 0; $i < count($this->directive_list_types); $i++) { $controls = $this->RepeaterDirectives->findControlsByType($this->directive_list_types[$i]); for ($j = 0; $j < count($controls); $j++) { + $parent_name = $controls[$j]->getParentName(); + if (!is_null($parent_name)) { + continue; + } $directive_name = $controls[$j]->getDirectiveName(); $directive_value = $controls[$j]->getDirectiveValue(); if (is_null($directive_value)) { diff --git a/gui/baculum/protected/Web/Portlets/DirectiveListTemplate.php b/gui/baculum/protected/Web/Portlets/DirectiveListTemplate.php index 18d17feaf..0d92f0641 100644 --- a/gui/baculum/protected/Web/Portlets/DirectiveListTemplate.php +++ b/gui/baculum/protected/Web/Portlets/DirectiveListTemplate.php @@ -36,6 +36,7 @@ class DirectiveListTemplate extends ConfigListTemplate implements IActiveControl const DATA = 'Data'; const LOAD_VALUES = 'LoadValues'; const SHOW = 'Show'; + const PARENT_NAME = 'ParentName'; const GROUP_NAME = 'GroupName'; public $display_directive; @@ -156,6 +157,14 @@ class DirectiveListTemplate extends ConfigListTemplate implements IActiveControl $this->setViewState(self::SHOW, $show); } + public function getParentName() { + return $this->getViewState(self::PARENT_NAME); + } + + public function setParentName($parent_name) { + $this->setViewState(self::PARENT_NAME, $parent_name); + } + public function getGroupName() { return $this->getViewState(self::GROUP_NAME); } diff --git a/gui/baculum/protected/Web/Portlets/DirectiveRenderer.php b/gui/baculum/protected/Web/Portlets/DirectiveRenderer.php index 160960c00..b0f5f31ca 100644 --- a/gui/baculum/protected/Web/Portlets/DirectiveRenderer.php +++ b/gui/baculum/protected/Web/Portlets/DirectiveRenderer.php @@ -91,6 +91,7 @@ class DirectiveRenderer extends DirectiveListTemplate implements IItemDataRender $control->setParentName($data['parent_name']); $control->setResourceNames($this->SourceTemplateControl->getResourceNames()); $this->getControls()->add($control); + $control->createDirective(); } elseif (in_array($type, $this->directive_list_types)) { $control->setHost($data['host']); $control->setComponentType($data['component_type']); @@ -99,6 +100,7 @@ class DirectiveRenderer extends DirectiveListTemplate implements IItemDataRender $control->setResourceName($data['resource_name']); $control->setDirectiveName($data['directive_name']); $control->setData($data['directive_value']); + $control->setParentName($data['parent_name']); $control->setLoadValues($this->SourceTemplateControl->getLoadValues()); $control->setResourceNames($this->SourceTemplateControl->getResourceNames()); $control->setShow($data['show']);