public function setParent(Element $parent) { parent::setParent($parent); foreach ($this->getChildren() as &$child) { $child->setViewLoader($this->getViewLoader()); } }
public function testFieldSetBasics() { $f = new Form\FieldSet(); $f2 = new Form\FieldSet('group'); $f3 = new Form\FieldSet(); $t = new Form\Element\Text('one'); $t->setRequired(true); $f2->addField($t); $t = new Form\Element\Text('two'); $f2->addField($t); $t = new Form\Element\Text('three'); $f3->addField($t); $f->addField($f2); $f->addField($f3); $this->assertFalse($f->validate()); $f->setValues(array('group' => array('one' => 'ONE', 'two' => 'TWO'), 'three' => 'THREE')); $values = $f->getValues(); $this->assertTrue(is_array($values)); $this->assertTrue(array_key_exists('group', $values)); $this->assertTrue(array_key_exists('one', $values['group'])); $this->assertTrue(array_key_exists('three', $values)); $this->assertTrue($values['group']['one'] == 'ONE'); $this->assertTrue($values['group']['two'] == 'TWO'); $this->assertTrue($values['three'] == 'THREE'); $this->assertTrue($f->validate()); $html = $f->render(); $this->assertTrue(strpos($html, 'one') !== false); $this->assertTrue(strpos($html, 'two') !== false); }
protected function onPreRender(&$view) { $view->action = $this->getAction(); $view->method = $this->getMethod(); parent::onPreRender($view); }
protected function settingsForm($values) { $form = new FormElement(); $form->setMethod('POST'); $fieldset = new FieldSet(); $fieldset->setId('oauth'); $fieldset->setLabel('OAuth Details'); $form->addField($fieldset); $fieldset->addField(Text::create('client_id', 'Client ID')); $fieldset->addField(Text::create('client_secret', 'Client Secret')); if (!empty($values['client_id']) && !empty($values['client_secret'])) { $fieldset = new FieldSet(); $fieldset->setId('login'); $fieldset->setLabel('Google Login'); $form->addField($fieldset); $fieldset->addField(OnOffSwitch::create('login_enabled', 'Enable Google Login?', false)); $fieldset->addField(Text::create('login_auto_create', 'Auto-approved login domains:')); } $submit = new Submit(); $submit->setValue('Save Settings'); $form->addField($submit); return $form; }