/**
  * Processing of Edit Calendar form
  *
  * @Privilege("editcalendar")
  *
  * @param $button
  */
 public function editCalendarFormSucceded($button)
 {
     $form = $button->form;
     $events = [];
     foreach ($form['events']->getValues(TRUE) as $event) {
         $event = array_filter($event, 'strlen');
         //delete empty values
         if (empty($event)) {
             continue;
         }
         //no user input row
         if (!array_key_exists('datestart', $event)) {
             $form->addError('Musíte vyplnit datum srazu.');
         }
         if (!array_key_exists('dateend', $event)) {
             $form->addError('Musíte vyplnit datum návratu.');
         }
         if (!array_key_exists('type', $event)) {
             $form->adderror('musíte vyplnit typ akce.');
         }
         if (!array_key_exists('calendarnote', $event)) {
             $event['calendarnote'] = "";
         }
         $events[] = $event;
     }
     if ($form->hasErrors() === FALSE) {
         foreach ($events as $event) {
             $event['calendar_id'] = $form->getValues()->calendar_id;
             if (array_key_exists('id', $event)) {
                 //make an update
                 $this->events->get($event['id'])->update($event);
             } else {
                 //make an insert
                 $this->events->insert($event);
             }
         }
         $this->flashMessage('Kalendář byl úspěšně upraven.');
         $this->redirect('default');
     }
 }