protected function createControls() { $this->relation = $this->controller->relation; $this->setPostback('modView', 'endEditRelation', array('current' => $this->request->current, 'entity' => $this->request->entity, 'initPanel' => 2)); $panel = new CaptionedPanelControl($this, 'panel'); $panel->setCaption('Relation » bearbeiten'); // Felder festlegen $inputName = new InputTextboxControl(null, 'name'); $inputName->setValue($this->controller->relation->name); $inputName->addCssClass('required'); $selectField = new InputSelectControl(null, 'field'); foreach ($this->controller->entity->fields as $field) { $selectField->addOption($field->name, $field->name); } $selectField->preSelect($this->controller->relation->field); $inputForeignEntity = new InputTextboxControl(null, 'foreignEntity'); $inputForeignEntity->setValue($this->controller->relation->foreignEntity); $inputForeignEntity->addCssClass('required'); $inputForeignField = new InputTextboxControl(null, 'foreignField'); $inputForeignField->setValue($this->controller->relation->foreignField); $inputForeignField->addCssClass('required'); $inputJoinCriteria = new InputTextboxControl(null, 'joinCriteria'); $inputJoinCriteria->setValue($this->controller->relation->joinCriteria); $selectJoin = new InputSelectControl(null, 'join'); $selectJoin->addOption('inner', 'inner')->addOption('left outer', 'left outer')->addOption('right outer', 'right outer')->preSelect($this->controller->relation->join); // Felder darstellen $edit = new EditControl($panel, 'edit'); $edit->addRow('Name', $inputName)->addRow('Feld in lokaler Entität', $selectField)->addRow('Fremdentität', $inputForeignEntity)->addRow('Feld in Fremdentität', $inputForeignField)->addRow('Join', $selectJoin)->addRow('On-Bedingung', $inputJoinCriteria)->addRow('Implementierende Klasse', InputTextboxControl::create(null, 'foreignClass')->setValue($this->relation->foreignClass)); $button = new ButtonControl($panel, 'button'); $button->setCaption('Speichern')->setIsSubmit('true'); }