/**
  * Form for editing the invitations to events
  *
  * @Action("edit")
  * @Privilege("edit")
  */
 protected function createComponentEditEventForm()
 {
     $form = new Form();
     $form->addProtection('Vypršel časový limit, odešlete formulář znovu');
     $form->addHidden('id');
     $form->addText('name', 'Název akce:')->setRequired('Vyplňte název akce');
     $form->addTextarea('text', 'Úvodní text lístečku:')->setRequired('Vyplňte text lístečku')->setAttribute('rows', 5);
     $form->addDynamic('event_meeting', function (Container $container) {
         $container->addText('comment', 'Typ srazu:');
         $container->addDateTimePicker('starttime', 'Datum a čas srazu:')->setRequired('Vyplňte čas srazu');
         $container->addText('startplace', 'Místo srazu:')->setRequired('Vyplňte místo srazu');
         $container->addDateTimePicker('endtime', 'Datum a čas návratu:')->setRequired('Vyplňte čas návratu');
         $container->addText('endplace', 'Místo návratu:')->setRequired('Vyplňte místo návratu');
         $container->addSubmit('remove', 'X')->setValidationScope(FALSE)->addRemoveOnClick();
         //intentional, delete after whole form submit
     }, 1)->addSubmit('add', 'Přidat sraz')->setValidationScope(FALSE)->addCreateOnClick(TRUE);
     $form->addTextarea('equipment', 'S sebou:')->setRequired('Vyplňte co si s sebou vzít na akci')->setAttribute('rows', 5);
     $form->addTextarea('morse', 'Morseovka:')->setAttribute('rows', 5);
     //contact person
     $contacts = $this->registrations->findBy(['member_nickname IS NOT NULL'])->fetchPairs('member_nickname', 'member_nickname');
     $form->addSelect('contactperson', 'Kontaktní osoba:', $contacts)->setRequired('Vyberte kontaktní osobu')->setPrompt('Kontaktní osoba');
     if ($this->user->isAllowed('Admin:Default:Event', 'show')) {
         $form->addCheckbox('showevent', 'Zobrazit lísteček')->setDefaultValue(TRUE);
     }
     $form->addSubmit('send', 'Změnit');
     $form->onSuccess[] = $this->editEventFormSucceded;
     return $form;
 }