/** * @param User Uzivatel k editaci * @return Form */ public function create($user = NULL) { $form = $this->baseFormFactory->create(); /* UZIVATELSKA CAST */ $userF = $form->addContainer('user'); $userF->addText('login', 'system.credentialsName')->setRequired($form->getTranslator()->translate('system.requiredItem', ['label' => '%label'])); $userF->addPassword('password', 'system.credentialsPassword'); $userF->addPassword('password2', 'system.credentialsPassword')->addConditionOn($form['user']['password'], Form::FILLED)->setRequired(new Phrase('system.requiredItem', ['label' => '%label']))->addRule(Form::EQUAL, new Phrase('system.equalItem', ['label' => '%label']), $form['user']['password']); $userF->addSelect('role', 'system.userRole')->setItems(User::getRoleList()); /* OSOBNI CAST */ $personF = $form->addContainer('person'); $personF->addText('name', 'system.userName')->setRequired(new Phrase('system.requiredItem', ['label' => '%label'])); $personF->addText('surname', 'system.userSurname'); $personF->addUpload('avatar', 'system.userAvatar')->addCondition(Form::FILLED)->addRule(Form::IMAGE, $form->getTranslator()->translate('system.formImage', ['item' => '%label'])); /* OBECNA CAST */ $form->addSubmit('send', 'system.save'); //id, vychozi hodnoty pri editaci $form->addHidden('id'); if ($user !== NULL) { $defaults = $this->getDefaults($user); $form->setDefaults($defaults); } $form->onValidate[] = [$this, 'validateForm']; $form->onSuccess[] = [$this, 'formSucceeded']; return $form; }