summaryrefslogtreecommitdiffstats
path: root/application/forms/SelectBackendForm.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/forms/SelectBackendForm.php')
-rw-r--r--application/forms/SelectBackendForm.php35
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
+ ]);
+ }
+}