summaryrefslogtreecommitdiffstats
path: root/application/forms/IcingaHostGroupForm.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/forms/IcingaHostGroupForm.php')
-rw-r--r--application/forms/IcingaHostGroupForm.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/application/forms/IcingaHostGroupForm.php b/application/forms/IcingaHostGroupForm.php
new file mode 100644
index 0000000..be48318
--- /dev/null
+++ b/application/forms/IcingaHostGroupForm.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace Icinga\Module\Director\Forms;
+
+use Icinga\Module\Director\Web\Form\DirectorObjectForm;
+
+class IcingaHostGroupForm extends DirectorObjectForm
+{
+ public function setup()
+ {
+ $this->addHidden('object_type', 'object');
+
+ $this->addElement('text', 'object_name', [
+ 'label' => $this->translate('Hostgroup'),
+ 'required' => true,
+ 'description' => $this->translate('Icinga object name for this host group')
+ ]);
+
+ $this->addGroupDisplayNameElement()
+ ->addAssignmentElements()
+ ->setButtons();
+ }
+
+ protected function addAssignmentElements()
+ {
+ $this->addAssignFilter([
+ 'suggestionContext' => 'HostFilterColumns',
+ 'required' => false,
+ 'description' => $this->translate(
+ 'This allows you to configure an assignment filter. Please feel'
+ . ' free to combine as many nested operators as you want. The'
+ . ' "contains" operator is valid for arrays only. Please use'
+ . ' wildcards and the = (equals) operator when searching for'
+ . ' partial string matches, like in *.example.com'
+ )
+ ]);
+
+ return $this;
+ }
+}