/** * @param object $object * @return $this|Fieldset|\Zend\Form\FieldsetInterface */ public function setObject($object) { parent::setObject($object); //$this->get('contact')->setObject($object->contact); //$this->populateValues($this->extract()); return $this; }
public function setObject($object) { parent::setObject($object); /* @var $applyFormSettings \Settings\Form\DisableElementsCapableFormSettingsFieldset */ $applyFormSettings = $this->get('applyFormSettings'); $applyFormSettings->setObject($object->applyFormSettings); return $this; }
public function setObject($object) { if ($object instanceof DraftableEntityInterface && !$object->isDraft()) { foreach ($this as $element) { $element->setAttribute('disabled', 'disabled'); } } return parent::setObject($object); }
public function setObject($object) { parent::setObject($object); $this->populateValues($this->extract()); return $this; }
public function setObject($object) { parent::setObject($object); $this->build(); return $this; }
public function testCorrectlyHydrateBaseFieldsetWhenHydratorThatDoesNotIgnoreInvalidDataIsUsed() { $fieldset = new Fieldset('example'); $fieldset->add(array( 'name' => 'foo' )); // Add an hydrator that ignores if values does not exist in the $fieldset->setObject(new Entity\SimplePublicProperty()); $fieldset->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); $this->form->add($fieldset); $this->form->setBaseFieldset($fieldset); $this->form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); // Add some inputs that do not belong to the base fieldset $this->form->add(array( 'type' => 'Zend\Form\Element\Submit', 'name' => 'submit' )); $object = new Entity\SimplePublicProperty(); $this->form->bind($object); $this->form->setData(array( 'submit' => 'Confirm', 'example' => array( 'foo' => 'value example' ) )); $this->assertTrue($this->form->isValid()); // Make sure the object was not hydrated at the "form level" $this->assertFalse(isset($object->submit)); }
public function testCanBindObjectMultipleNestedFieldsets() { $productFieldset = new ProductFieldset(); $productFieldset->setHydrator(new ClassMethods()); $productFieldset->setObject(new Product()); $nestedFieldset = new Fieldset('nested'); $nestedFieldset->setHydrator(new ClassMethods()); $nestedFieldset->setObject(new stdClass()); $nestedFieldset->add(array('name' => 'products', 'type' => 'Collection', 'options' => array('target_element' => $productFieldset, 'count' => 2))); $mainFieldset = new Fieldset('main'); $mainFieldset->setUseAsBaseFieldset(true); $mainFieldset->setHydrator(new ClassMethods()); $mainFieldset->setObject(new stdClass()); $mainFieldset->add(array('name' => 'nested', 'type' => 'Collection', 'options' => array('target_element' => $nestedFieldset, 'count' => 2))); $form = new Form(); $form->setHydrator(new ObjectPropertyHydrator()); $form->add($mainFieldset); $market = new stdClass(); $prices = array(100, 200); $products[0] = new Product(); $products[0]->setPrice($prices[0]); $products[1] = new Product(); $products[1]->setPrice($prices[1]); $shop[0] = new stdClass(); $shop[0]->products = $products; $shop[1] = new stdClass(); $shop[1]->products = $products; $market->main = $shop; $form->bind($market); //test for object binding foreach ($form->get('main')->getFieldsets() as $_fieldset) { foreach ($_fieldset->getFieldsets() as $_nestedfieldset) { $this->assertInstanceOf('ZendTest\\Form\\TestAsset\\Entity\\Product', $_nestedfieldset->get('products')->getObject()); } } }