Ejemplo n.º 1
0
 public function actionEdit($id, $day)
 {
     try {
         $this->listing = $this->listingFacade->getListingByID($id);
         $this->date = TimeUtils::getDateTimeFromParameters($this->listing->year, $this->listing->month, $day);
         if ($this->date === false) {
             $this->redirect('Listing:detail', ['id' => $this->listing->listingID]);
         }
         $this->listingItem = $this->itemFacade->getListingItemByDay($day, $this->listing);
     } catch (Runtime\ListingNotFoundException $l) {
         $this->flashMessage('Výčetka nebyla nalezena.', 'error');
         $this->redirect('Listing:overview', ['year' => $this->currentDate->format('Y'), 'month' => $this->currentDate->format('n')]);
     } catch (Runtime\ListingItemNotFoundException $li) {
         $this->listingItem = null;
     }
     if ($this->listingItem instanceof Entities\ListingItem and !$this->listing->isDetached()) {
         $formData['lunch'] = $this->listingItem->workedHours->lunch->toTimeWithComma();
         $formData['workEnd'] = $this->listingItem->workedHours->workEnd->toHoursAndMinutes(true);
         $formData['workStart'] = $this->listingItem->workedHours->workStart->toHoursAndMinutes(true);
         $formData['otherHours'] = $this->listingItem->workedHours->otherHours->toTimeWithComma();
         $formData['locality'] = $this->listingItem->locality->name;
         $formData['description'] = $this->listingItem->description;
         $formData['descOtherHours'] = $this->listingItem->descOtherHours;
         $this['itemForm']->setDefaults($formData);
     }
 }
Ejemplo n.º 2
0
 public function __construct(ListingItem $listingItem)
 {
     $listingItem->checkEntityState();
     $this->listingItem = $listingItem;
     $year = $listingItem->listing->year;
     $month = $listingItem->listing->month;
     $this->date = TimeUtils::getDateTimeFromParameters($year, $month, $listingItem->day);
 }
Ejemplo n.º 3
0
 public function actionEdit($id, $day)
 {
     $this->listingResult = $this->getListingByID($id);
     $this->listing = $this->listingResult->getListing();
     $date = TimeUtils::getDateTimeFromParameters($this->listing->year, $this->listing->month, $day);
     if ($date === false) {
         $this->redirect('Listing:detail', ['id' => $this->listing->getId()]);
     }
 }
Ejemplo n.º 4
0
 /**
  * @return bool|DateTime
  */
 public function getPeriod()
 {
     return TimeUtils::getDateTimeFromParameters($this->year, $this->month);
 }
Ejemplo n.º 5
0
 /**
  * @param ListingItemDecorator[] $listingItemsDecorators
  * @param \DateTime $period
  * @return array
  */
 public function generateListingItemDecoratorsForEntireTable(array $listingItemsDecorators, \DateTime $period)
 {
     $year = $period->format('Y');
     $month = $period->format('n');
     $daysInMonth = TimeUtils::getNumberOfDaysInMonth($year, $month);
     $list = [];
     for ($day = 1; $day <= $daysInMonth; $day++) {
         if (array_key_exists($day, $listingItemsDecorators)) {
             if (!$listingItemsDecorators[$day] instanceof IDisplayableItem) {
                 throw new InvalidArgumentException('Only instances of ' . ListingItemDecorator::class . ' can pass.');
             }
             $list[$day] = $listingItemsDecorators[$day];
         } else {
             $list[$day] = new FillingItem(TimeUtils::getDateTimeFromParameters($year, $month, $day));
         }
     }
     return $list;
 }
Ejemplo n.º 6
0
 public function getDate()
 {
     if ($this->date === null) {
         $this->date = TimeUtils::getDateTimeFromParameters($this->listing->year, $this->listing->month, $this->day);
     }
     return $this->date;
 }
Ejemplo n.º 7
0
 /**
  * @param Listing $listing
  * @param int $day
  * @return bool|\DateTime
  */
 private function prepareDateTime(Listing $listing, $day)
 {
     return TimeUtils::getDateTimeFromParameters($listing->year, $listing->month, $day);
 }