diff options
Diffstat (limited to 'library/Director/DataType/DataTypeBoolean.php')
-rw-r--r-- | library/Director/DataType/DataTypeBoolean.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/library/Director/DataType/DataTypeBoolean.php b/library/Director/DataType/DataTypeBoolean.php new file mode 100644 index 0000000..d9edc60 --- /dev/null +++ b/library/Director/DataType/DataTypeBoolean.php @@ -0,0 +1,30 @@ +<?php + +namespace Icinga\Module\Director\DataType; + +use Icinga\Module\Director\Hook\DataTypeHook; +use Icinga\Module\Director\Web\Form\Decorator\ViewHelperRaw; +use Icinga\Module\Director\Web\Form\QuickForm; +use Zend_Form_Element as ZfElement; + +class DataTypeBoolean extends DataTypeHook +{ + public function getFormElement($name, QuickForm $form) + { + return $this->applyRawViewHelper( + $form->createElement('boolean', $name) + ); + } + + protected function applyRawViewHelper(ZfElement $element) + { + $vhClass = 'Zend_Form_Decorator_ViewHelper'; + $decorators = $element->getDecorators(); + if (array_key_exists($vhClass, $decorators)) { + $decorators[$vhClass] = new ViewHelperRaw; + $element->setDecorators($decorators); + } + + return $element; + } +} |