diff options
Diffstat (limited to 'application/forms/SelectBackendForm.php')
-rw-r--r-- | application/forms/SelectBackendForm.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/application/forms/SelectBackendForm.php b/application/forms/SelectBackendForm.php new file mode 100644 index 0000000..4ba9610 --- /dev/null +++ b/application/forms/SelectBackendForm.php @@ -0,0 +1,35 @@ +<?php +// Icinga Reporting | (c) 2018 Icinga GmbH | GPLv2 + +namespace Icinga\Module\Reporting\Forms; + +use Icinga\Data\ResourceFactory; +use Icinga\Forms\ConfigForm; + +class SelectBackendForm extends ConfigForm +{ + public function init() + { + $this->setName('reporting_backend'); + $this->setSubmitLabel($this->translate('Save Changes')); + } + + public function createElements(array $formData) + { + $dbResources = ResourceFactory::getResourceConfigs('db')->keys(); + $options = array_combine($dbResources, $dbResources); + + $default = null; + if (isset($options['reporting'])) { + $default = 'reporting'; + } + + $this->addElement('select', 'backend_resource', [ + 'label' => $this->translate('Database'), + 'description' => $this->translate('Database resource'), + 'multiOptions' => $options, + 'value' => $default, + 'required' => true + ]); + } +} |