/** * Form for editing a post * * @Privilege("edit") * @Action("edit") */ protected function createComponentGuestbookForm() { $form = new \Nette\Application\UI\Form(); $form->addProtection('Vypršel časový limit, odešlete formulář znovu'); $form->addHidden('id'); $members = $this->members->getAuthenticatedUsers()->fetchPairs('user_id', 'nickname'); $user_id = $form->addSelect('user_id', 'Ověřený uživatel:', $members)->setPrompt('Vyberte uživatele'); $form->addText('name', 'Jméno:')->setAttribute('size', 30)->addConditionOn($form['user_id'], ~\Nette\Application\UI\Form::FILLED)->addRule(\Nette\Application\UI\Form::FILLED, 'Musíte buď vybrat uživatele nebo zadat jméno pro příspěvek'); $user_id->addConditionOn($form['name'], ~\Nette\Application\UI\Form::FILLED)->addRule(\Nette\Application\UI\Form::FILLED, 'Musíte buď vybrat uživatele nebo zadat jméno pro příspěvek'); $form->addDateTimePicker('time', 'Čas příspěvku')->setAttribute('size', 30); $form->addTextarea('post', 'Vzkaz:')->setAttribute('cols', 50)->setAttribute('rows', 5)->setRequired('Musíte zadat text vzkazu'); $form->addText('mail', 'E-mail:')->setAttribute('size', 30)->addCondition(\Nette\Application\UI\Form::FILLED)->addRule(\Nette\Application\UI\Form::EMAIL, 'Musí se jednat o platný e-mail'); $form->addText('web', 'Web:')->setAttribute('size', 30); $form->addSubmit('send', 'Změnit'); $form->onSuccess[] = $this->guestFormSucceded; return $form; }