summaryrefslogtreecommitdiffstats
path: root/application/forms/IcingaZoneForm.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/forms/IcingaZoneForm.php')
-rw-r--r--application/forms/IcingaZoneForm.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/application/forms/IcingaZoneForm.php b/application/forms/IcingaZoneForm.php
new file mode 100644
index 0000000..bf27cae
--- /dev/null
+++ b/application/forms/IcingaZoneForm.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace Icinga\Module\Director\Forms;
+
+use Icinga\Module\Director\Web\Form\DirectorObjectForm;
+
+class IcingaZoneForm extends DirectorObjectForm
+{
+ public function setup()
+ {
+ $this->addHidden('object_type', 'object');
+
+ $this->addElement('text', 'object_name', array(
+ 'label' => $this->translate('Zone name'),
+ 'required' => true,
+ 'description' => $this->translate(
+ 'Name for the Icinga zone you are going to create'
+ )
+ ));
+
+ $this->addElement('select', 'is_global', array(
+ 'label' => $this->translate('Global zone'),
+ 'description' => $this->translate(
+ 'Whether this zone should be available everywhere. Please note that'
+ . ' it rarely leads to the desired result when you try to distribute'
+ . ' global zones in distrubuted environments'
+ ),
+ 'multiOptions' => array(
+ 'n' => $this->translate('No'),
+ 'y' => $this->translate('Yes'),
+ ),
+ 'required' => true,
+ ));
+
+ $this->addElement('select', 'parent_id', array(
+ 'label' => $this->translate('Parent Zone'),
+ 'description' => $this->translate('Chose an (optional) parent zone'),
+ 'multiOptions' => $this->optionalEnum($this->db->enumZones()),
+ ));
+
+ $this->setButtons();
+ }
+}