public function generatePdf(SubmitButton $button) { $values = $button->getForm()->getValues(true); $items = $this->listingItemsReader->findListingsItems([$this->listingResult->getListingId()]); $listing = $this->listingResult->getListing(); $listingData = ['l_id' => $listing->id, 'l_year' => $listing->year, 'l_month' => $listing->month, 'l_description' => $listing->description, 'l_hourlyWage' => $listing->hourlyWage, 'u_id' => $listing->user->id, 'u_name' => $listing->user->name, 'worked_days' => $this->listingResult->getWorkedDays(), 'worked_hours' => $this->listingResult->getWorkedHours(), 'total_worked_hours_in_sec' => $this->listingResult->getTotalWorkedHours()->toSeconds(), 'lunch_hours' => $this->listingResult->getLunchHours(), 'other_hours' => $this->listingResult->getOtherHours()]; /** @var IListingPdfFile $pdf */ $pdf = $this->listingPDFGenerator->generate($listingData, $items, $values); $response = new Nette\Application\Responses\FileResponse($pdf->getStoragePath(), $pdf->getFileName()); $this->presenter->sendResponse($response); }
public function __construct(ListingResult $listingResult, RecipientsSelectBoxFactory $recipientsSelectBoxFactory, SharedListingNotification $sharedListingNotification, IItemsTableControlFactory $itemsTableControlFactory, ListingsFacade $listingFacade, UsersFacade $usersFacade) { $this->listingResult = $listingResult; $this->listing = $listingResult->getListing(); $this->user = $listingResult->getListing()->getUser(); $this->recipientsSelectBoxFactory = $recipientsSelectBoxFactory; $this->sharedListingNotification = $sharedListingNotification; $this->itemsTableControlFactory = $itemsTableControlFactory; $this->listingFacade = $listingFacade; $this->usersFacade = $usersFacade; $this->restrictedUsers = $this->usersFacade->findRestrictedUsers($this->user); $this->users = $this->usersFacade->findAllUsers(); }
public function __construct(ListingResult $listingResult, IItemsTableControlFactory $itemsTableControlFactory, ListingsFacade $listingFacade, ItemsFacade $itemFacade) { $this->listingResult = $listingResult; $this->listing = $listingResult->getListing(); $this->itemsTableControlFactory = $itemsTableControlFactory; $this->listingFacade = $listingFacade; $this->itemFacade = $itemFacade; }
public function __construct(ListingResult $listingResult, IListingDescriptionControlFactory $listingDescriptionControlFactory, IItemsTableControlFactory $itemsTableControlFactory, ItemUpdateFormFactory $itemUpdateFormFactory, ListingsFacade $listingsFacade) { $this->listingResult = $listingResult; $this->listing = $listingResult->getListing(); $this->listingDescriptionControlFactory = $listingDescriptionControlFactory; $this->itemsTableControlFactory = $itemsTableControlFactory; $this->itemUpdateFormFactory = $itemUpdateFormFactory; $this->listingsFacade = $listingsFacade; }
public function processMergeListings(Form $form, $values) { $selectedCollisionItems = $form->getHttpData(Form::DATA_TEXT, 'itm[]'); try { $listing = $this->listingsFacade->mergeListings($this->listingResult->getListing(), $this->listingToMergeResult->getListing(), $selectedCollisionItems, $this->listingResult->getListing()->getUser()); $this->flashMessage('Výčetky byli úspěšně spojeny.', 'success'); $this->redirect('Listing:overview', ['year' => $listing->year, 'month' => $listing->month]); } catch (NoCollisionListingItemSelectedException $ncis) { $form->addError('Ve výčetce se stále nachází kolizní řádek/řádky.'); return; } catch (DBALException $e) { $this->flashMessage('Při spojování výčetek došlo k chybě. Zkuste akci opakovat později.', 'error'); $this->redirect('Listing:detail', ['id' => $this->listingResult->getListingId()]); } }
public function __construct(ListingResult $listingResult, ListingsFacade $listingsFacade) { $this->listingResult = $listingResult; $this->listing = $listingResult->getListing(); $this->listingsFacade = $listingsFacade; }
protected function createComponentListingDescription() { $desc = $this->listingDescriptionFactory->create($this->listingResult->getListing()); $desc->setAsClickable('Front:Listing:detail', ['id' => $this->listingResult->getListingId()]); return $desc; }