protected function createComponentAddActForm($name) { if ($this->editable) { $record = $this->model->getEditableActivity($this->getParameter("id")); $pkHeadEditsAct = $record->user_id != $this->user->id; } else { $record = null; $pkHeadEditsAct = true; } $pkHead = $this->model->getPkUser($this->user->id); $form = new \App\Forms\BaseForm(); $form->addHidden('id'); if ($pkHead != null && $pkHeadEditsAct) { $form->addSelect('user_id', 'Uživatel', $this->usersmodel->getUsersInPk($pkHead['pk_id'])); } $form->addText('name', 'Název')->setRequired(); $form->addTextArea('description', 'Popis')->setRequired(); $form->addText('timeInM', 'Čas (m)')->addRule(\Nette\Forms\Form::INTEGER, "Musí být přirozené číslo nebo nula."); if ($pkHead == null) { $form->addSelect('act_notebooks_id', 'PK', $this->model->getListOfPkIAmIn($this->user->id))->setRequired(); } $form->addSubmit('ok', 'Uložit'); if ($this->editable) { $form->onSuccess[] = array($this, 'addActFormSucceeded'); } else { if (!$this->editable) { $form->onSuccess[] = array($this, 'addActPKFormSucceeded'); } } try { // $record = $this->model->getEditableActivity($this->getParameter("id")); $form->setDefaults($record); } catch (\Exception $e) { //$this->flashMessage("Uživatel pravděpodobně není členem PK","danger"); // $this->redirect("Homepage:default"); } return $form; }