示例#1
0
 protected function createComponentTermsForm()
 {
     $form = new \soundake\helpers\MyForm();
     $form->renderStyle = 'semantic';
     $form->setTranslator($this->translator);
     $form->getElementPrototype()->addAttributes(array('class' => ''));
     $terms = $form->addDynamic('terms', function (Container $term) {
         $term->addHidden('time_id');
         $term->addDatepicker('date_from', 'Datum počátku')->setAttribute('class', 'form_date')->setAttribute('novalidate')->addRule(Form::FILLED, 'Date is required')->setRequired();
         $term->addTimePicker('time_from', 'Čas začátku (např. 12:00)')->setAttribute('class', 'form_time');
         $term->addDatepicker('date_to', 'Datum konce')->setAttribute('class', 'form_date');
         $term->addTimePicker('time_to', 'Čas konce')->setAttribute('class', 'form_time');
         $term->addCheckbox('visible', 'Viditelné v přehledech akcí na PeknyDen.cz')->setValue(TRUE);
         $term->addSubmit('remove', 'Smazat')->setValidationScope(FALSE)->addRemoveOnClick(function (\Kdyby\Replicator\Container $replicator, Container $term) {
         })->getControlPrototype()->class('btn');
         $term->addCheckbox('repeat', 'Opakující se akce - v daném období se koná pravidelně každý týden v těchto dnech:')->setDefaultValue(FALSE)->addCondition(Form::EQUAL, TRUE)->toggle("every");
         $term->addCheckbox('every_monday', 'pondělí');
         $term->addCheckbox('every_tuesday', 'úterý');
         $term->addCheckbox('every_wednesday', 'středa');
         $term->addCheckbox('every_thursday', 'čtvrtek');
         $term->addCheckbox('every_friday', 'pátek');
         $term->addCheckbox('every_saturday', 'sobota');
         $term->addCheckbox('every_sunday', 'neděle');
     }, 1);
     $terms->addSubmit('add', 'Přidej další termín akce')->setValidationScope(FALSE)->addCreateOnClick(TRUE, function (\Kdyby\Replicator\Container $replicator, Container $term) {
     })->getControlPrototype();
     $form->addHidden('event_id');
     if ($this->user->isInRole('administrator')) {
         $form->addCheckbox('forceRegenerate', 'Přegeneruj všechny termíny');
     }
     $form->addSubmit('save', 'Uložit termíny a přejít na fotky')->setAttribute('class', 'large green')->onClick[] = $this->saveTerms;
     $form->addSubmit('send', 'Uložit termíny')->onClick[] = $this->saveTerms;
     $form->addSubmit('sendBack', 'Uložit a zpět na akci')->onClick[] = $this->saveTerms;
     $form->addSubmit('saveAndJump', 'Uložit termíny a přeskočit ke kontrole')->onClick[] = $this->saveTerms;
     return $form;
 }