Exemple #1
0
 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;
 }
Exemple #4
0
 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('/');
 }
Exemple #5
0
 /**
  * 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);
     }
 }
Exemple #6
0
 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('&nbsp;', ' ', 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);
     }
 }