diff options
Diffstat (limited to 'application/forms/IcingaHostGroupForm.php')
-rw-r--r-- | application/forms/IcingaHostGroupForm.php | 40 |
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; + } +} |