/** {@inheritdoc} */ public function init() { parent::init(); $types = new \Zend\Form\Fieldset('Types'); $this->add($types); $inputFilterTypes = new \Zend\InputFilter\InputFilter(); $this->_definedTypes = $this->getOption('DeviceManager')->getTypeCounts(); foreach ($this->_definedTypes as $name => $count) { $element = new \Zend\Form\Element\Text($name); $element->setValue($name); $types->add($element); $filter = array('name' => $name, 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('min' => 1, 'max' => 255)), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateName'), 'callbackOptions' => $name, 'message' => $this->_('The name already exists'))))); $inputFilterTypes->add($filter); } $add = new \Zend\Form\Element\Text('Add'); $add->setLabel('Add'); $this->add($add); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Change'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add($inputFilterTypes, 'Types'); $inputFilter->add(array('name' => 'Add', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255)), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateName'), 'message' => $this->_('The name already exists')))))); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $translatedTypes = array('text' => $this->_('Text'), 'clob' => $this->_('Long text'), 'integer' => $this->_('Integer'), 'float' => $this->_('Float'), 'date' => $this->_('Date')); $fields = new \Zend\Form\Fieldset('Fields'); $this->add($fields); $inputFilterFields = new \Zend\InputFilter\InputFilter(); foreach ($this->getOption('CustomFieldManager')->getFields() as $name => $type) { if ($name == 'TAG') { // Static field, can not be edited continue; } $this->_definedFields[$name] = $translatedTypes[$type]; $element = new \Zend\Form\Element\Text($name); $element->setValue($name); $fields->add($element); $filter = array('name' => $name, 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('min' => 1, 'max' => 255)), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateName'), 'callbackOptions' => $name, 'message' => $this->_('The name already exists'))))); $inputFilterFields->add($filter); } // Empty text field to create new field. $newName = new \Zend\Form\Element\Text('NewName'); $newName->setLabel('Add'); $this->add($newName); // Datatype of new field $newType = new \Zend\Form\Element\Select('NewType'); $newType->setValueOptions($translatedTypes); $this->add($newType); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Change'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add($inputFilterFields, 'Fields'); $inputFilter->add(array('name' => 'NewName', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255)), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateName'), 'message' => $this->_('The name already exists')))))); $this->setInputFilter($inputFilter); }