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/Http/Controllers/Exports/ExportAnalyticToExcelController.php b/app/Http/Controllers/Exports/ExportAnalyticToExcelController.php index af90dbb5..eeaad69c 100644 --- a/app/Http/Controllers/Exports/ExportAnalyticToExcelController.php +++ b/app/Http/Controllers/Exports/ExportAnalyticToExcelController.php @@ -10,7 +10,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; use Illuminate\Support\Facades\Storage; -use Carbon\Carbon; +use App\Classes\General\AWSS3Helper; class ExportAnalyticToExcelController { @@ -29,7 +29,7 @@ class ExportAnalyticToExcelController $exportFileName = 'bookingData.csv'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsAnalyticBookingTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsAnalyticBookingTransactions) ]); } else{ $response = $exportsAnalyticBookingTransactions->download($exportFileName, Excel::CSV, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -42,7 +42,7 @@ class ExportAnalyticToExcelController $exportFileName = 'billingData.csv'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsAnalyticBillingTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsAnalyticBillingTransactions) ]); } else{ $response = $exportsAnalyticBillingTransactions->download($exportFileName, Excel::CSV, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -50,18 +50,4 @@ class ExportAnalyticToExcelController return $response; } } - - private function S3($exportFileName, $exportableObject){ - //Step 1: Upload to S3 - $filePathForS3 = 'temp/' . $exportFileName; - $exportableObject->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/Http/Controllers/Exports/ExportCustomersToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php index 60470b2b..6c4d04a5 100644 --- a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php +++ b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php @@ -22,7 +22,7 @@ use App\Classes\Modules\Exports\Services\ExportsReceiptTransactions; use App\Classes\Modules\Exports\Services\ExportsImportedReceiptMappeds; use App\Classes\Modules\Exports\Services\ExportsWhiteFormTransactions; use Illuminate\Support\Facades\Storage; -use Carbon\Carbon; +use App\Classes\General\AWSS3Helper; class ExportCustomersToExcelController { @@ -41,7 +41,7 @@ class ExportCustomersToExcelController $exportFileName = 'customers.csv'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsCustomers) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsCustomers) ]); } else{ return $exportsCustomers->download($exportFileName, Excel::CSV, ['Content-Type' => 'text/csv']); @@ -52,7 +52,7 @@ class ExportCustomersToExcelController $exportFileName = 'CurrencyVendorOrder.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportCurrencyVendorOrder) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportCurrencyVendorOrder) ]); } else{ $response = $exportCurrencyVendorOrder->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -65,7 +65,7 @@ class ExportCustomersToExcelController $exportFileName = 'transactions.csv'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); } else{ return $exportsTransactions->download($exportFileName, Excel::CSV, ['Content-Type' => 'text/csv']); @@ -76,7 +76,7 @@ class ExportCustomersToExcelController $exportFileName = 'nullDebtor.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsNullDebtors) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsNullDebtors) ]); } else{ $response = $exportsNullDebtors->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -90,7 +90,7 @@ class ExportCustomersToExcelController $exportFileName = 'payment-transactions.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); } else{ $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -104,7 +104,7 @@ class ExportCustomersToExcelController $exportFileName = 'white-form-transactions.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); } else{ $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -118,7 +118,7 @@ class ExportCustomersToExcelController $exportFileName = 'wallet-transactions.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); } else{ $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -132,7 +132,7 @@ class ExportCustomersToExcelController $exportFileName = 'invoice-transactions.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); } else{ $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -146,7 +146,7 @@ class ExportCustomersToExcelController $exportFileName = 'receipt-transactions.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); } else{ $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -159,7 +159,7 @@ class ExportCustomersToExcelController $exportFileName = 'bookingTransactions.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsBookingTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsBookingTransactions) ]); } else{ $response = $exportsBookingTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -172,7 +172,7 @@ class ExportCustomersToExcelController $exportFileName = 'leadsData.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsLeadsTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsLeadsTransactions) ]); } else{ $response = $exportsLeadsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -185,7 +185,7 @@ class ExportCustomersToExcelController $exportFileName = $request->input('fileName').'.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsImportedInvoiceMappeds) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsImportedInvoiceMappeds) ]); } else{ $response = $exportsImportedInvoiceMappeds->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -198,7 +198,7 @@ class ExportCustomersToExcelController $exportFileName = $request->input('fileName').'.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsImportedReceiptMappeds) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsImportedReceiptMappeds) ]); } else{ $response = $exportsImportedReceiptMappeds->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -206,19 +206,5 @@ class ExportCustomersToExcelController return $response; } } - - private function S3($exportFileName, $exportableObject){ - //Step 1: Upload to S3 - $filePathForS3 = 'temp/' . $exportFileName; - $exportableObject->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/Http/Controllers/Exports/ExportCustomersWalletTransactionToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersWalletTransactionToExcelController.php index d19cf8e8..7843a1af 100644 --- a/app/Http/Controllers/Exports/ExportCustomersWalletTransactionToExcelController.php +++ b/app/Http/Controllers/Exports/ExportCustomersWalletTransactionToExcelController.php @@ -8,7 +8,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Excel; use Illuminate\Support\Facades\Storage; -use Carbon\Carbon; +use App\Classes\General\AWSS3Helper; class ExportCustomersWalletTransactionToExcelController { @@ -29,7 +29,7 @@ class ExportCustomersWalletTransactionToExcelController $exportFileName = $request->route('marking') . '-wallet-' . ($request->route('is_precise') == 'true' ? 'precise-' : '') . 'transaction-history.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ - return response([ 'src' => $this->S3($exportFileName, $exportsTransactions) ]); + return response([ 'src' => AWSS3Helper::S3($exportFileName, $exportsTransactions) ]); } else{ $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); @@ -37,18 +37,4 @@ class ExportCustomersWalletTransactionToExcelController return $response; } } - - private function S3($exportFileName, $exportableObject){ - //Step 1: Upload to S3 - $filePathForS3 = 'temp/' . $exportFileName; - $exportableObject->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/resources/assets/vue/components/bookings/elements/DownloadBillingWithDatesComponent.vue b/resources/assets/vue/components/bookings/elements/DownloadBillingWithDatesComponent.vue index 4c08cd31..195fc7dd 100644 --- a/resources/assets/vue/components/bookings/elements/DownloadBillingWithDatesComponent.vue +++ b/resources/assets/vue/components/bookings/elements/DownloadBillingWithDatesComponent.vue @@ -94,11 +94,12 @@ export default { apiRoute = route('whiteFormTransactions.export'); break; } + let url = apiRoute + '?startDate=' + this.parameters.startDate + '&endDate=' + this.parameters.endDate; if(window.LARAVEL_VAPOR_ENABLED){ - this.submit(apiRoute + '?startDate=' + this.parameters.startDate + '&endDate=' + this.parameters.endDate, 'get', this.section, false, false); + this.submit(url, 'get', this.section, false, false); } else{ - window.open(apiRoute + '?startDate=' + this.parameters.startDate + '&endDate=' + this.parameters.endDate, '_blank'); + window.open(url, '_blank'); } }, updateDocumentType(documentType) {