diff options
Diffstat (limited to 'application/forms/IcingaEndpointForm.php')
-rw-r--r-- | application/forms/IcingaEndpointForm.php | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/application/forms/IcingaEndpointForm.php b/application/forms/IcingaEndpointForm.php new file mode 100644 index 0000000..1c08cb4 --- /dev/null +++ b/application/forms/IcingaEndpointForm.php @@ -0,0 +1,61 @@ +<?php + +namespace Icinga\Module\Director\Forms; + +use Icinga\Module\Director\Web\Form\DirectorObjectForm; + +class IcingaEndpointForm extends DirectorObjectForm +{ + public function setup() + { + $this->addObjectTypeElement(); + if (! $this->hasObjectType()) { + return; + } + + if ($this->isTemplate()) { + $this->addElement('text', 'object_name', array( + 'label' => $this->translate('Endpoint template name'), + 'required' => true, + 'description' => $this->translate('Name for the Icinga endpoint template you are going to create') + )); + } else { + $this->addElement('text', 'object_name', array( + 'label' => $this->translate('Endpoint'), + 'required' => true, + 'description' => $this->translate('Name for the Icinga endpoint you are going to create') + )); + } + + $this->addElement('text', 'host', array( + 'label' => $this->translate('Endpoint address'), + 'description' => $this->translate('IP address / hostname of remote node') + )); + + $this->addElement('text', 'port', array( + 'label' => $this->translate('Port'), + 'description' => $this->translate('The port of the endpoint.'), + )); + + $this->addElement('text', 'log_duration', array( + 'label' => $this->translate('Log Duration'), + 'description' => $this->translate('The log duration time.') + )); + + $this->addElement('select', 'apiuser_id', array( + 'label' => $this->translate('API user'), + 'multiOptions' => $this->optionalEnum($this->db->enumApiUsers()) + )); + + $this->addZoneElement(); + + if ($this->object->hasBeenLoadedFromDb()) { + $imports = $this->object->get('imports'); + if ($imports !== null && count($imports) > 0) { + $this->addImportsElement(false); + } + } + + $this->setButtons(); + } +} |