summaryrefslogtreecommitdiffstats
path: root/library/Director/DataType/DataTypeBoolean.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/Director/DataType/DataTypeBoolean.php')
-rw-r--r--library/Director/DataType/DataTypeBoolean.php30
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;
+ }
+}