protected function createComponentForm()
 {
     $comp = $this->listingFormFactory->create();
     $monthNumber = $this->listing->getMonth();
     $comp['month']->setItems([$monthNumber => TimeUtils::getMonthName($monthNumber)]);
     $comp['year']->setItems([$this->listing->getYear() => $this->listing->getYear()]);
     $comp['save']->caption = 'Vytvořit kopii';
     $comp->onSuccess[] = [$this, 'processForm'];
     return $comp;
 }
 /**
  * @secured
  */
 public function handleRemoveItem($day)
 {
     $this->checkDayValue($day);
     try {
         $this->itemFacade->removeListingItem($day, $this->listing);
         if ($this->presenter->isAjax()) {
             $item = new FillingItem(DateTime::createFromFormat('d.m.Y', $day . '.' . $this->listing->getMonth() . '.' . $this->listing->getYear()));
             $this['itemsTable']->refreshTable([$item]);
         } else {
             $this->flashMessage('Řádek byl vymazán.', 'success');
             $this->redirect('this');
         }
     } catch (ListingNotFoundException $lnf) {
         $this->flashMessage('Výčetka, kterou se snažíte upravit, nebyla nalezena.');
         $this->redirect('Listing:overview');
     }
 }
 public function onListingCopySuccess(Listing $listing)
 {
     $this->flashMessage('Byla založena kopie výčetky.', 'success');
     $this->redirect('Listing:overview', array('year' => $listing->getYear(), 'month' => $listing->getMonth()));
 }
 public function processCancel()
 {
     $this->onCancelClick($this->listing->getYear(), $this->listing->getMonth());
 }