diff --git a/app/Classes/General/AWSS3Helper.php b/app/Classes/General/AWSS3Helper.php new file mode 100644 index 00000000..12cf6661 --- /dev/null +++ b/app/Classes/General/AWSS3Helper.php @@ -0,0 +1,31 @@ +store($filePathForS3, 's3'); + + //Step 2: Return temporary URL from S3 + $temporaryUrl = Storage::disk('s3')->temporaryUrl( + $filePathForS3, + Carbon::now()->addMinutes(10) + ); + + return $temporaryUrl; + } + +} diff --git a/app/Classes/Jobs/Commands/V2/HouseKeepingS3FilesV2CommandJob.php b/app/Classes/Jobs/Commands/V2/HouseKeepingS3FilesV2CommandJob.php index 4ffb3b96..ad26eb43 100644 --- a/app/Classes/Jobs/Commands/V2/HouseKeepingS3FilesV2CommandJob.php +++ b/app/Classes/Jobs/Commands/V2/HouseKeepingS3FilesV2CommandJob.php @@ -26,6 +26,7 @@ class HouseKeepingS3FilesV2CommandJob implements ShouldQueue $s3 = Storage::disk('s3'); $directories = [ 'documents/exports', + 'temp', ]; foreach ($directories as $directory) { $startInner = Carbon::now(); diff --git a/app/Classes/Jobs/Commands/V2/TestExportExcelToS3BucketV2CommandJob.php b/app/Classes/Jobs/Commands/V2/TestExportExcelToS3BucketV2CommandJob.php index fd5585e5..6988255b 100644 --- a/app/Classes/Jobs/Commands/V2/TestExportExcelToS3BucketV2CommandJob.php +++ b/app/Classes/Jobs/Commands/V2/TestExportExcelToS3BucketV2CommandJob.php @@ -66,7 +66,7 @@ class TestExportExcelToS3BucketV2CommandJob implements ShouldQueue $filesystemDriver = Storage::getDefaultDriver(); if ($filesystemDriver === 's3') { - $filePathForS3 = 'documents/exports/nullDebtor.xlsx'; + $filePathForS3 = 'temp/nullDebtor.xlsx'; //documents/exports $excelFile = $export->store($filePathForS3, 's3'); $temporaryUrl = Storage::disk('s3')->temporaryUrl( $filePathForS3, diff --git a/app/Classes/Modules/Exports/ControllersLogic/ExportFeedbackDataLogic.php b/app/Classes/Modules/Exports/ControllersLogic/ExportFeedbackDataLogic.php index 69b3930f..ce7e8e9e 100644 --- a/app/Classes/Modules/Exports/ControllersLogic/ExportFeedbackDataLogic.php +++ b/app/Classes/Modules/Exports/ControllersLogic/ExportFeedbackDataLogic.php @@ -9,6 +9,9 @@ use App\Classes\Modules\Exports\Standards\Rules\CanExportFeedback; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\BinaryFileResponse; use Maatwebsite\Excel\Excel; +use App\Classes\General\AWSS3Helper; +use Illuminate\Support\Facades\Storage; + class ExportFeedbackDataLogic extends Abstract2ControllerLogic { @@ -48,8 +51,15 @@ class ExportFeedbackDataLogic extends Abstract2ControllerLogic { $this->canExportFeedback->passes(); - $response = $this->exportsFeedback->download('feedback.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); + $exportFileName = 'feedback.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $this->exportsFeedback) ]); + } + else{ + $response = $this->exportsFeedback->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + } return $response; } diff --git a/app/Classes/Modules/Exports/ControllersLogic/ExportPackingListLogic.php b/app/Classes/Modules/Exports/ControllersLogic/ExportPackingListLogic.php index 5ad04101..84e49a8e 100644 --- a/app/Classes/Modules/Exports/ControllersLogic/ExportPackingListLogic.php +++ b/app/Classes/Modules/Exports/ControllersLogic/ExportPackingListLogic.php @@ -10,6 +10,8 @@ use App\Classes\Modules\Exports\Services\ExportsPendingArrangementDeliveryList; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\BinaryFileResponse; use Maatwebsite\Excel\Excel; +use Illuminate\Support\Facades\Storage; +use App\Classes\General\AWSS3Helper; class ExportPackingListLogic extends Abstract2ControllerLogic { @@ -54,15 +56,29 @@ class ExportPackingListLogic extends Abstract2ControllerLogic { $this->canExportPackingList->passes(); $isSetPendingArrangement = $request->header('PendingArrangement'); - if($isSetPendingArrangement){ - $response = $this->exportsPendingArrangementDeliveryList->download('packing-list-delivery.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - } - else { - $response = $this->exportsOnHoldPackingList->download('packing-list-on-hold.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - } - ob_end_clean(); - return $response; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + if($isSetPendingArrangement){ + $exportFileName = 'packing-list-delivery.xls'; + return response([ 'src' => AWSS3Helper::S3($exportFileName, $this->exportsPendingArrangementDeliveryList) ]); + } + else{ + $exportFileName = 'packing-list-on-hold.xls'; + return response([ 'src' => AWSS3Helper::S3($exportFileName, $this->exportsOnHoldPackingList) ]); + } + } + else{ + if($isSetPendingArrangement){ + $response = $this->exportsPendingArrangementDeliveryList->download('packing-list-delivery.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + } + else { + $response = $this->exportsOnHoldPackingList->download('packing-list-on-hold.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + } + + ob_end_clean(); + return $response; + } } } diff --git a/app/Http/Controllers/Delivery/ExportDeliveryOrdersToExcelController.php b/app/Http/Controllers/Delivery/ExportDeliveryOrdersToExcelController.php index f2ae08ad..1269eb40 100644 --- a/app/Http/Controllers/Delivery/ExportDeliveryOrdersToExcelController.php +++ b/app/Http/Controllers/Delivery/ExportDeliveryOrdersToExcelController.php @@ -9,6 +9,8 @@ use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; +use Illuminate\Support\Facades\Storage; +use App\Classes\General\AWSS3Helper; class ExportDeliveryOrdersToExcelController { @@ -25,9 +27,16 @@ class ExportDeliveryOrdersToExcelController public function lineClear(Request $request){ $exportsTransactions = new ExportsMultipleDeliveryOrders($request); - $response = $exportsTransactions->download('line-clear-export.xlsx', Excel::XLSX, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'line-clear-export.xlsx'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); + } + else{ + $response = $exportsTransactions->download($exportFileName, Excel::XLSX, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Exports/ExportArrivedParcelController.php b/app/Http/Controllers/Exports/ExportArrivedParcelController.php index f62ea308..9053d328 100644 --- a/app/Http/Controllers/Exports/ExportArrivedParcelController.php +++ b/app/Http/Controllers/Exports/ExportArrivedParcelController.php @@ -10,6 +10,8 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; use App\Classes\Modules\Exports\Services\ExportsAgingList; +use Illuminate\Support\Facades\Storage; +use App\Classes\General\AWSS3Helper; class ExportArrivedParcelController { @@ -28,30 +30,57 @@ class ExportArrivedParcelController $endDate = $request->query('end_date'); $exportsPendingArrangementDeliveryList = new ExportsArrivedParcel($startDate, $endDate); - - $response = $exportsPendingArrangementDeliveryList->download('arrived-parcel.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'arrived-parcel.xlsx'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsPendingArrangementDeliveryList) ]); + } + else{ + $response = $exportsPendingArrangementDeliveryList->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } public function summary(Request $request) { $exportsParcelsSummary = new ExportsParcel(); - $response = $exportsParcelsSummary->download('parcel-summary.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'parcel-summary.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsParcelsSummary) ]); + } + else{ + $response = $exportsParcelsSummary->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } public function guangZhou2ToJohor(Request $request) { $exportsWarehousePackingList = new ExportsWarehousePackingList(); - $response = $exportsWarehousePackingList->download('guangzhou2-to-johor-summary.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'guangzhou2-to-johor-summary.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsWarehousePackingList) ]); + } + else{ + $response = $exportsWarehousePackingList->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } public function aging(Request $request) { $data = new ExportsAgingList(); - $response = $data->download('aging_report.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'aging_report.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $data) ]); + } + else{ + $response = $data->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } } diff --git a/app/Http/Controllers/Exports/ExportCompanyModuleSummaryController.php b/app/Http/Controllers/Exports/ExportCompanyModuleSummaryController.php index ebed8c45..da9df654 100644 --- a/app/Http/Controllers/Exports/ExportCompanyModuleSummaryController.php +++ b/app/Http/Controllers/Exports/ExportCompanyModuleSummaryController.php @@ -8,6 +8,8 @@ use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; +use Illuminate\Support\Facades\Storage; +use App\Classes\General\AWSS3Helper; class ExportCompanyModuleSummaryController { @@ -24,17 +26,31 @@ class ExportCompanyModuleSummaryController public function export(Request $request) { $exportsCompanyModuleSummary = new ExportsCompanyModuleSummary($request); $exportsCompanyModuleSummary->setParameters($request->route('company_module_id'), $request->input('containerNumber')); - $response = $exportsCompanyModuleSummary->download('customerid-markingno.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'customerid-markingno.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsCompanyModuleSummary) ]); + } + else{ + $response = $exportsCompanyModuleSummary->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } public function exportOrderSummaryByMarking(Request $request) { $exportsOrderSummaryByMarking = new ExportsOrderSummaryByMarking($request); $customer_marking = $request->route('marking'); $exportsOrderSummaryByMarking->setParameters($customer_marking, $request->input('dateFrom'), $request->input('dateTo')); - $response = $exportsOrderSummaryByMarking->download($customer_marking . '_order_summary.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = $customer_marking . '_order_summary.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsOrderSummaryByMarking) ]); + } + else{ + $response = $exportsOrderSummaryByMarking->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } } diff --git a/app/Http/Controllers/Exports/ExportContainerPackingListController.php b/app/Http/Controllers/Exports/ExportContainerPackingListController.php index 6e5d845d..deba9545 100644 --- a/app/Http/Controllers/Exports/ExportContainerPackingListController.php +++ b/app/Http/Controllers/Exports/ExportContainerPackingListController.php @@ -7,6 +7,8 @@ use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; +use Illuminate\Support\Facades\Storage; +use App\Classes\General\AWSS3Helper; class ExportContainerPackingListController { @@ -14,6 +16,13 @@ class ExportContainerPackingListController $token = Auth::fromUser(User::find(1)); $request->headers->set('Authorization', 'Bearer '.$token); $exportsContainerPackingList->setId($request->route('id')); - return $exportsContainerPackingList->download('customer-container-packing-list.csv', Excel::CSV, ['Content-Type' => 'text/csv']); + $exportFileName = 'customer-container-packing-list.csv'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsContainerPackingList) ]); + } + else{ + return $exportsContainerPackingList->download($exportFileName, Excel::CSV, ['Content-Type' => 'text/csv']); + } } } diff --git a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php index 1d08f50b..57289d50 100644 --- a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php +++ b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php @@ -13,6 +13,7 @@ use Illuminate\Support\Facades\Storage; use Maatwebsite\Excel\Excel; use App\Classes\Modules\Exports\Services\ExportsNullDebtors; use Carbon\Carbon; +use App\Classes\General\AWSS3Helper; class ExportCustomersToExcelController { @@ -23,17 +24,10 @@ class ExportCustomersToExcelController } public function nullDebtor(ExportsNullDebtors $exportsNullDebtors, Request $request){ + $exportFileName = 'nullDebtor.xlsx'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - - $filePathForS3 = 'documents/exports/nullDebtor.xlsx'; - $excelFile = $exportsNullDebtors->store($filePathForS3, 's3'); - $temporaryUrl = Storage::disk('s3')->temporaryUrl( - $filePathForS3, - Carbon::now()->addMinutes(10) - ); - - return response(['src' => $temporaryUrl ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsNullDebtors) ]); } else{ $response = $exportsNullDebtors->download('nullDebtor.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -44,15 +38,29 @@ class ExportCustomersToExcelController public function paymentTransactions(Request $request){ $exportsTransactions = new ExportsPaymentTransactions($request); - $response = $exportsTransactions->download('payment-transactions.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - // ob_end_clean(); - return $response; + $exportFileName = 'payment-transactions.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); + } + else{ + $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + // ob_end_clean(); + return $response; + } } public function totalOrders(Request $request){ $exportsTotalOrders = new ExportsCustomerTotalOrderByYear($request); - $response = $exportsTotalOrders->download('total-orders-' . $request->route('year') . '.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'total-orders-' . $request->route('year') . '.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTotalOrders) ]); + } + else{ + $response = $exportsTotalOrders->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } } diff --git a/app/Http/Controllers/Exports/ExportCustomersWalletTransactionToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersWalletTransactionToExcelController.php index 742c4be1..573d15c1 100644 --- a/app/Http/Controllers/Exports/ExportCustomersWalletTransactionToExcelController.php +++ b/app/Http/Controllers/Exports/ExportCustomersWalletTransactionToExcelController.php @@ -8,6 +8,8 @@ use App\Models\Wallet; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; +use Illuminate\Support\Facades\Storage; +use App\Classes\General\AWSS3Helper; class ExportCustomersWalletTransactionToExcelController { @@ -27,10 +29,15 @@ class ExportCustomersWalletTransactionToExcelController $exportsTransactions = new ExportsCustomersWalletTransactionHistory($request); $wallet = Wallet::find($request->route('wallet_id')); $company_marking = $wallet->owner->connections->first()->invitee_reference; - - $filename = $company_marking . '-wallet-' . ($request->route('is_precise') == 'true' ? 'precise-' : '') . 'transaction-history.xls'; - $response = $exportsTransactions->download($filename, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = $company_marking . '-wallet-' . ($request->route('is_precise') == 'true' ? 'precise-' : '') . 'transaction-history.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); + } + else{ + $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } } diff --git a/app/Http/Controllers/Exports/ExportParcelPostcodesController.php b/app/Http/Controllers/Exports/ExportParcelPostcodesController.php index 1fede8e5..bce68ef7 100644 --- a/app/Http/Controllers/Exports/ExportParcelPostcodesController.php +++ b/app/Http/Controllers/Exports/ExportParcelPostcodesController.php @@ -7,6 +7,8 @@ use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; +use Illuminate\Support\Facades\Storage; +use App\Classes\General\AWSS3Helper; class ExportParcelPostcodesController { @@ -22,8 +24,15 @@ class ExportParcelPostcodesController public function export(Request $request) { $exportsPendingArrangementDeliveryList = new ExportsParcelPostcodes($request); - $response = $exportsPendingArrangementDeliveryList->download('parcel-postcodes.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'parcel-postcodes.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsPendingArrangementDeliveryList) ]); + } + else{ + $response = $exportsPendingArrangementDeliveryList->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } } diff --git a/app/Http/Controllers/Exports/ExportPendingArrangementPackingListController.php b/app/Http/Controllers/Exports/ExportPendingArrangementPackingListController.php index 9afb397e..083dd0f8 100644 --- a/app/Http/Controllers/Exports/ExportPendingArrangementPackingListController.php +++ b/app/Http/Controllers/Exports/ExportPendingArrangementPackingListController.php @@ -8,6 +8,8 @@ use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; +use Illuminate\Support\Facades\Storage; +use App\Classes\General\AWSS3Helper; class ExportPendingArrangementPackingListController { @@ -23,15 +25,29 @@ class ExportPendingArrangementPackingListController public function export(Request $request) { $exportsPendingArrangementDeliveryList = new ExportsPendingArrangementDeliveryList($request); - $response = $exportsPendingArrangementDeliveryList->download('packing-list-delivery.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'packing-list-delivery.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsPendingArrangementDeliveryList) ]); + } + else{ + $response = $exportsPendingArrangementDeliveryList->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } public function onHold(Request $request) { $exportsPendingArrangementDeliveryList = new ExportsOnHoldPackingList($request); - $response = $exportsPendingArrangementDeliveryList->download('packing-list-on-hold.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); - ob_end_clean(); - return $response; + $exportFileName = 'packing-list-on-hold.xls'; + $filesystemDriver = Storage::getDefaultDriver(); + if($filesystemDriver === 's3'){ + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsPendingArrangementDeliveryList) ]); + } + else{ + $response = $exportsPendingArrangementDeliveryList->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } } } diff --git a/resources/assets/vue/components/paymentsBilling/forms/DownloadBillingWithDatesComponent.vue b/resources/assets/vue/components/paymentsBilling/forms/DownloadBillingWithDatesComponent.vue index 640348b2..5a8b85c9 100644 --- a/resources/assets/vue/components/paymentsBilling/forms/DownloadBillingWithDatesComponent.vue +++ b/resources/assets/vue/components/paymentsBilling/forms/DownloadBillingWithDatesComponent.vue @@ -70,12 +70,25 @@ export default { apiRoute = route('walletTransactions.export'); break; } - window.open(apiRoute + '?startDate=' + this.parameters.startDate + '&endDate=' + this.parameters.endDate, '_blank'); + let url = apiRoute + '?startDate=' + this.parameters.startDate + '&endDate=' + this.parameters.endDate; + if(window.LARAVEL_VAPOR_ENABLED){ + this.submit(url, 'get', this.section, false, false); + } + else{ + window.open(url, '_blank'); + } }, updateDocumentType(documentType) { this.parameters.type = documentType; this.selectedDocumentStatus = !this.selectedDocumentStatus - } + }, + successHandler(response) { + if(window.LARAVEL_VAPOR_ENABLED){ + if (response.src) { + window.location.href = response.src; + } + } + }, }, mixins: [componentHandler] }; diff --git a/resources/assets/vue/components/reports/forms/ExportCompanyModuleSummaryFormComponent.vue b/resources/assets/vue/components/reports/forms/ExportCompanyModuleSummaryFormComponent.vue index 3d3e65f5..7936102e 100644 --- a/resources/assets/vue/components/reports/forms/ExportCompanyModuleSummaryFormComponent.vue +++ b/resources/assets/vue/components/reports/forms/ExportCompanyModuleSummaryFormComponent.vue @@ -53,11 +53,24 @@ if(this.validate()){ this.$v.$reset(); this.closeModal(); - window.open(this.route('customer.summary.export', this.item.id)+'?containerNumber='+this.containerIds, '_blank'); + let url = this.route('customer.summary.export', this.item.id)+'?containerNumber='+this.containerIds; + if(window.LARAVEL_VAPOR_ENABLED){ + this.submit(url, 'get', this.section, false, false); + } + else{ + window.open(url, '_blank'); + } } return; - } + }, + successHandler(response) { + if(window.LARAVEL_VAPOR_ENABLED){ + if (response.src) { + window.location.href = response.src; + } + } + }, }, mixins: [componentHandler, ModalFormHandler] } - \ No newline at end of file +