/**
  * Creates Form for Opting in
  *
  * @return \Nette\Application\UI\Form
  */
 protected function createComponentOptInForm()
 {
     $form = new \Nette\Application\UI\Form();
     $form->addProtection('Vypršel časový limit, odešlete formulář znovu');
     $form->addAntispam();
     $form->addText('name', 'Jméno a Příjmení:')->setRequired('Vložte jméno.');
     $form->addText('mail', 'E-mail:')->addRule(\Nette\Application\UI\Form::EMAIL, 'Musí se jednat o platný e-mail.')->setRequired('Vložte e-mail.');
     $form->addText('phone', 'Telefon:')->setRequired('Vložte telefonní číslo');
     $form->addText('school', 'Škola:');
     $form->addText('class', 'Třída:');
     $form->addSubmit('send', 'Nezávazně se přihlásit');
     $form->onSuccess[] = $this->optInFormSucceeded;
     return $form;
 }
 /**
  * Form for changing password
  *
  * @Action("default")
  * @Privilege("default")
  */
 protected function createComponentChangePasswordForm()
 {
     $form = new \Nette\Application\UI\Form();
     $form->addProtection('Vypršel časový limit, odešlete formulář znovu');
     $form->addPassword('oldpassword', 'Současné heslo:')->setRequired('Zadejte současné heslo');
     $form->addPassword('password', 'Nové heslo:')->setRequired('Zvolte si heslo')->addRule(\Nette\Application\UI\Form::MIN_LENGTH, 'Heslo musí mít alespoň %d znaků', 6);
     $form->addPassword('passwordVerify', 'Heslo pro kontrolu:')->setRequired('Zadejte prosím heslo ještě jednou pro kontrolu')->addRule(\Nette\Application\UI\Form::EQUAL, 'Hesla se neshodují', $form['password']);
     $form->addSubmit('send', 'Změnit');
     $form->onSuccess[] = $this->changePasswordSucceded;
     return $form;
 }
 /**
  * Form for creating or editing a history
  *
  * @Action("create", "edit")
  * @Privilege("create", "edit")
  */
 protected function createComponentHistoryForm()
 {
     $form = new \Nette\Application\UI\Form();
     $form->addProtection('Vypršel časový limit, odešlete formulář znovu');
     $form->addText('year', 'Ročník:')->setRequired('Musíte vyplnit rok')->setOption('description', \Nette\Utils\Html::el('td')->setText('(formát "rrrr - rrrr")'))->setAttribute('size', 40);
     $form->addText('game', 'Táborová hra:')->setDefaultValue('???')->setRequired('Musíte vyplnit táborovou hru')->setAttribute('size', 40);
     $form->addTextarea('leaders', 'Vedoucí:')->setRequired('Musíte vyplnit vedoucí oddílu')->setOption('description', \Nette\Utils\Html::el('td')->setText('(oddělujte čárkou)'))->setAttribute('rows', 4)->setAttribute('cols', 40);
     $form->addTextarea('deputies', 'Zástupci:')->setRequired('Musíte vyplnit zástupce vedoucího')->setOption('description', \Nette\Utils\Html::el('td')->setText('(oddělujte čárkou)'))->setAttribute('rows', 4)->setAttribute('cols', 40);
     $form->addTextarea('oldscouts', 'Oldskauti:')->setRequired('Musíte vyplnit olskauty')->setOption('description', \Nette\Utils\Html::el('td')->setText('(oddělujte čárkou)'))->setAttribute('rows', 4)->setAttribute('cols', 40);
     $form->addTextarea('rangers', 'Roveři:')->setRequired('Musíte vyplnit rovery')->setOption('description', \Nette\Utils\Html::el('td')->setText('(oddělujte čárkou)'))->setAttribute('rows', 4)->setAttribute('cols', 40);
     $form->addText('club', 'Klubovna:')->setRequired('Musíte vyplnit klubovny')->setAttribute('size', 40);
     $form->addText('camp', 'Tábor:')->setDefaultValue('???')->setRequired('Musíte vyplnit tábořiště')->setAttribute('size', 40);
     $form->addTextarea('mloci', 'Mloci:')->setOption('description', \Nette\Utils\Html::el('td')->setText('(nový člen na nový řádek)'))->setAttribute('rows', 4)->setAttribute('cols', 40);
     $form->addTextarea('tucnaci', 'Tučňáci:')->setOption('description', \Nette\Utils\Html::el('td')->setText('(nový člen na nový řádek)'))->setAttribute('rows', 4)->setAttribute('cols', 40);
     $form->addTextarea('jezevci', 'Jezevci:')->setOption('description', \Nette\Utils\Html::el('td')->setText('(nový člen na nový řádek)'))->setAttribute('rows', 4)->setAttribute('cols', 40);
     $form->addUpload('file', 'Náhled:')->addCondition(\Nette\Application\UI\Form::FILLED)->addRule(\Nette\Application\UI\Form::IMAGE, 'Náhled musí být JPEG, PNG nebo GIF.');
     $form->addSubmit('send', 'Přidat/Změnit');
     $form->onSuccess[] = $this->historyFormSucceded;
     return $form;
 }
 /**
  * Form for adding and editing News
  *
  * @Action('create', 'edit')
  * @Privilege('create', 'edit')
  */
 protected function createComponentEditNewsForm($name)
 {
     $form = new \Nette\Application\UI\Form($this, $name);
     $form->addProtection('Vypršel časový limit, odešlete formulář znovu');
     $form->addHidden('id');
     $form->addSelect('type', 'Typ aktuality:', ['Zpráva' => 'Zpráva'])->setRequired('Musíte vybrat typ aktuality');
     $form->addJDSelect('event_id', 'Vyberte akci:', $form['type'], array($this, "getValuesEventId"));
     $form->addText('heading', 'Nadpis:')->setRequired('Musíte vyplnit nadpis')->setAttribute('size', 60);
     $form->addTextarea('content', 'Text aktuality:')->setRequired('Musíte vyplnit text aktuality')->setAttribute('rows', 5)->setAttribute('cols', 60);
     if ($this->user->isAllowed('Admin:Default:News', 'show')) {
         $form->addCheckbox('show', 'Zobrazit aktualitu')->setDefaultValue(TRUE);
     }
     $form->addSubmit('send', 'Odeslat');
     $form->onSuccess[] = $this->editNewsFormSucceded;
     $form->getElementPrototype()->onsubmit('tinyMCE.triggerSave()');
     return $form;
 }
 /**
  * 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;
 }
 /**
  * Registration form
  *
  * @Action("create", "edit")
  * @Privilege("create", "edit")
  */
 protected function createComponentRegistrationForm()
 {
     $form = new \Nette\Application\UI\Form();
     $form->addProtection('Vypršel časový limit, odešlete formulář znovu');
     $members = $this->members->getMembersWithoutRegistration()->fetchPairs('nickname', 'nickname');
     $member_nickname = $form->addSelect('nickname', 'Členové bez registrace:', $members)->setPrompt('Vyberte člena');
     $form->addText('member_nickname', 'Přesdívka:')->addConditionOn($form['nickname'], ~\Nette\Application\UI\Form::FILLED)->addRule(\Nette\Application\UI\Form::FILLED, 'Musíte vybrat přezdívku');
     $member_nickname->addConditionOn($form['member_nickname'], ~\Nette\Application\UI\Form::FILLED)->addRule(\Nette\Application\UI\Form::FILLED, 'Musíte vybrat přezdívku');
     $form->addDatePicker('birth_date', 'Datum Narození:')->setRequired('Vyplňte datum narození');
     $form->addText('oddil', 'Oddíl:')->setType('number');
     $form->addTextarea('address', 'Adresa:')->setOption('description', \Nette\Utils\Html::el('td')->setText('Oddělujte novým řádkem'))->setAttribute('rows', 4)->setAttribute('cols', 30);
     $form->addText('mobile', 'Telefon:');
     $form->addText('registration_number', 'Registrační Číslo:')->setOption('description', \Nette\Utils\Html::el('td')->setText('To samé co v IS skautu'));
     $form->addSubmit('send', 'Přidat/Změnit');
     $form->onSuccess[] = $this->registrationFormSucceded;
     return $form;
 }