public function downloadCsvAction() { $apartmentGeneralService = $this->getServiceLocator()->get('service_apartment_general'); $currency = $apartmentGeneralService->getCurrencySymbol($this->apartmentId); $expenseDao = new ExpenseCost($this->getServiceLocator(), '\\ArrayObject'); $costs = $expenseDao->getApartmentCosts($this->apartmentId); $costArray = []; foreach ($costs as $cost) { $costArray[] = ["ID" => $cost['id'], "Category" => $cost['category'], "Date" => date(Constants::GLOBAL_DATE_FORMAT, strtotime($cost['date'])), "Amount ({$currency})" => $cost['amount'], "Purpose" => $cost['purpose']]; } if (!empty($costArray)) { $response = $this->getResponse(); $headers = $response->getHeaders(); $utilityCsvGenerator = new CsvGenerator(); $filename = 'costs_apartment_' . str_replace(' ', '_', date('Y-m-d')) . '.csv'; $utilityCsvGenerator->setDownloadHeaders($headers, $filename); $csv = $utilityCsvGenerator->generateCsv($costArray); $response->setContent($csv); return $response; } else { $flash_session = Helper::getSessionContainer('use_zf2'); $flash_session->flash = ['notice' => 'There are empty data, nothing to download.']; $url = $this->getRequest()->getHeader('Referer')->getUri(); $this->redirect()->toUrl($url); } }
public function downloadCsvAction() { /** * @var ExpenseTicket $expenseService */ $expenseService = $this->getServiceLocator()->get('service_finance_expense_expense_ticket'); try { $data = $expenseService->getCsvArrayForDownload($this->params()->fromQuery()); } catch (\Exception $ex) { $flash = Helper::getSessionContainer('use_zf2'); $flash->flash = ['error' => $ex->getMessage()]; return $this->redirect()->toRoute('finance/purchase-order'); } $response = $this->getResponse(); $headers = $response->getHeaders(); $filename = 'Purchase Order Items ' . date('Y-m-d') . '.csv'; $utilityCsvGenerator = new CsvGenerator(); $utilityCsvGenerator->setDownloadHeaders($headers, $filename); $csv = $utilityCsvGenerator->generateCsv($data); $response->setContent($csv); return $response; }
public function downloadAction() { /** * @var BackofficeAuthenticationService $auth * @var ExpenseTicket $expenseService */ $auth = $this->getServiceLocator()->get('library_backoffice_auth'); $expenseService = $this->getServiceLocator()->get('service_finance_expense_expense_ticket'); try { $expenseData = $expenseService->getExpenseListToDownload($this->params()->fromQuery(), ['isFinance' => $auth->hasRole(Roles::ROLE_PO_AND_TRANSFER_MANAGER_GLOBAL)]); } catch (\Exception $ex) { $flash = Helper::getSessionContainer('use_zf2'); $flash->flash = ['error' => $ex->getMessage()]; return $this->redirect()->toRoute('finance/purchase-order'); } $response = $this->getResponse(); $headers = $response->getHeaders(); $filename = 'Purchase Orders ' . date('Y-m-d') . '.csv'; $utilityCsvGenerator = new CsvGenerator(); $utilityCsvGenerator->setDownloadHeaders($headers, $filename); $csv = $utilityCsvGenerator->generateCsv($expenseData); $response->setContent($csv); return $response; }
public function ajaxDownloadOfficeCostsCsvAction() { try { /** * @var \DDD\Dao\Finance\Expense\ExpenseCost $expenseCostDao */ $expenseCostDao = $this->getServiceLocator()->get('dao_finance_expense_expense_cost'); $officeId = $this->params()->fromRoute('id'); $filter = $this->params()->fromQuery('filter'); $officeCostsFiltered = $expenseCostDao->getOfficeCosts($officeId, ['sSearch' => $filter, 'iSortCol_0' => 2, 'sSortDir_0' => 'desc']); $costArray = []; foreach ($officeCostsFiltered as $cost) { $costArray[] = ["ID" => $cost['id'], "Category" => $cost['category'], "Date" => date(Constants::GLOBAL_DATE_FORMAT, strtotime($cost['date'])), "Currency" => $cost['currency_code'], "Amount" => $cost['amount'], "Purpose" => $cost['purpose']]; } if (!empty($costArray)) { $response = $this->getResponse(); $headers = $response->getHeaders(); $utilityCsvGenerator = new CsvGenerator(); $filename = 'costs_office_' . $officeId . '_' . str_replace(' ', '_', date('Y-m-d')) . '.csv'; $utilityCsvGenerator->setDownloadHeaders($headers, $filename); $csv = $utilityCsvGenerator->generateCsv($costArray); $response->setContent($csv); return $response; } else { $flash_session = Helper::getSessionContainer('use_zf2'); $flash_session->flash = ['notice' => 'There are empty data, nothing to download.']; $url = $this->getRequest()->getHeader('Referer')->getUri(); $this->redirect()->toUrl($url); } } catch (\Exception $e) { $this->gr2logException($e, 'Cannot Download Office Costs Csv'); } return $this->redirect()->toUrl('/'); }
/** * Use to generate and download reservations CSV file */ public function downloadCsvAction() { /** * @var \DDD\Service\Booking\BookingManagement $bookingManagementService * @var \DDD\Service\Booking\BookingTicket $bookingTicketService * @var GeoliteCountry $geoliteCountryService * @var BookingExportRow[]|\ArrayObject $reservations */ $bookingManagementService = $this->getServiceLocator()->get('service_booking_management'); $bookingTicketService = $this->getServiceLocator()->get('service_booking_booking_ticket'); $geoliteCountryService = $this->getServiceLocator()->get('service_geolite_country'); // getting query parameters $queryParams = $this->params()->fromQuery(); // get reservations data $reservations = $bookingManagementService->getReservationsToExport(null, null, $queryParams); $filteredArray = []; $currencyDao = $this->getServiceLocator()->get('dao_currency_currency'); $currencyUtility = new Currency($currencyDao); foreach ($reservations as $reservation) { $isBlacklist = $reservation->isBlacklist(); $isBlacklist = is_null($isBlacklist) ? 'No' : 'Yes'; $sumAndBalanc = $bookingTicketService->getSumAndBalanc($reservation->getId()); $filteredArray[] = ["Reservation" => $reservation->getReservationNumber(), "Affiliate ID" => $reservation->getAffiliateID(), "Affiliate Name" => $reservation->getPartnerName(), "Affiliate Reference" => $reservation->getPartnerRef(), "Status" => $reservation->getStatus(), "Blacklist" => $isBlacklist, "Apartel" => $reservation->getApartel(), "Booking Date" => date('Y-m-d', strtotime($reservation->getReservationDate())), "Booking Time" => date('H:i:s', strtotime($reservation->getReservationDate())), "Apartment Id" => $reservation->getApartmentIdAssigned(), "Apartment Name" => $reservation->getProductName(), "Apartment Building" => $reservation->getApartmentBuilding(), "Apartment City" => $reservation->getApartmentCity(), "Guest" => $reservation->getGuestFullName(), "Country" => $reservation->getCountry_name(), "City" => $reservation->getGuestCityName(), "IP" => $geoliteCountryService->composeIPAndCountryNameString($reservation->getIP()), "Arrival Date" => $reservation->getArrivalDate(), "Departure Date" => $reservation->getDepartureDate(), "Nights" => Helper::getDaysFromTwoDate($reservation->getArrivalDate(), $reservation->getDepartureDate()), "PAX" => $reservation->getPAX(), "Rate" => $reservation->getRateName(), "Base Price (EUR)" => $currencyUtility->convert(str_replace(',', '', $reservation->getPrice()), $reservation->getApartmentCurrencyCode(), 'EUR'), "Base Currency" => $reservation->getApartmentCurrencyCode(), "Base Price" => $reservation->getPrice(), "Charges(Ginosi)" => $sumAndBalanc['ginosiCollectChargesSummaryInApartmentCurrency'], "Transactions(Ginosi)" => $sumAndBalanc['ginosiCollectTransactionsSummaryInApartmentCurrency'], "Balance" => $reservation->getGuestBalance(), "Charges(Partner)" => $sumAndBalanc['partnerCollectChargesSummaryInApartmentCurrency'], "Transactions(Partner)" => $sumAndBalanc['partnerCollectTransactionsSummaryInApartmentCurrency'], "Partner Balance" => $reservation->getPartnerBalance(), "No Collection" => $reservation->getNo_collection(), "Review Score" => $reservation->getReviewScore(), "Like" => $reservation->getLike(), "Dislike" => $reservation->getDislike(), "Actual Arrival Date" => $reservation->getActualArrivalDate(), "Actual Departure Date" => $reservation->getActualDepartureDate()]; } if (count($filteredArray)) { $response = $this->getResponse(); $headers = $response->getHeaders(); $utilityCsvGenerator = new CsvGenerator(); $filename = 'reservations_' . str_replace(' ', '_', date('Y-m-d')) . '.csv'; $utilityCsvGenerator->setDownloadHeaders($headers, $filename); $csv = $utilityCsvGenerator->generateCsv($filteredArray); $response->setContent($csv); return $response; } else { Helper::setFlashMessage(['notice' => 'The search results were empty, nothing to download.']); $url = $this->getRequest()->getHeader('Referer')->getUri(); $this->redirect()->toUrl($url); } }
public function downloadCsvAction() { $requestParams = $this->params()->fromQuery(); /* @var $auth \Library\Authentication\BackofficeAuthenticationService */ $auth = $this->getServiceLocator()->get('library_backoffice_auth'); /* @var $apartmentDocumentService \DDD\Service\Apartment\Document */ $apartmentDocumentService = $this->getServiceLocator()->get('service_apartment_document'); $documents = $apartmentDocumentService->getApartmentDocumentSearchResult($requestParams); $result = []; if (count($documents) > 0) { foreach ($documents as $document) { $documentDescriptionCleaup = str_replace(' ', ' ', strip_tags($document->getDescription(), '<br>')); $result[] = ['Apartment Name' => $document->getApartmentName(), 'Security Level' => $document->getTeamName(), 'Document Type' => $document->getTypeName(), 'Supplier' => $document->getSupplierName(), 'Account Number' => $document->getAccountNumber(), 'Account Holder' => $document->getAccountHolder(), 'Description' => $documentDescriptionCleaup, 'Created Date' => $document->getDateCreated(), 'Has Attachment' => empty($document->getAttachment()) ? '-' : '+', 'Has url' => empty($document->getUrl()) ? '-' : '+', 'Valid From' => $document->getValidFrom(), 'Valid To' => $document->getValidTo(), 'Legal Entity' => $document->getLegalEntityName(), 'Signatory' => $document->getSignatoryFullName()]; } $response = $this->getResponse(); $headers = $response->getHeaders(); $filename = 'Apartment Documents ' . date('Y-m-d') . '.csv'; $utilityCsvGenerator = new CsvGenerator(); $utilityCsvGenerator->setDownloadHeaders($headers, $filename); $csv = $utilityCsvGenerator->generateCsv($result); $response->setContent($csv); return $response; } else { $flash_session = Helper::getSessionContainer('use_zf2'); $flash_session->flash = ['notice' => 'The search results were empty, nothing to download.']; $url = $this->getRequest()->getHeader('Referer')->getUri(); $this->redirect()->toUrl($url); } }