diff --git a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
index 67a23d50..f77d8acb 100644
--- a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
+++ b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
@@ -150,14 +150,22 @@ class ExportCustomersToExcelController
}
}
- public function walletTransactions(Request $request){
+ public function walletTransactions(Request $request)
+ {
$exportsTransactions = new ExportsWalletTransactions($request);
- $exportFileName = 'wallet-transactions.xls';
+
+ $type = $request->get('type');
+ $exportFileName = match ($type) {
+ 'payment' => 'wallet-payment-transactions.xls',
+ 'credit_note' => 'wallet-credit-note-transactions.xls',
+ 'debit_note' => 'wallet-debit-note-transactions.xls',
+ default => 'wallet-topup-transactions.xls',
+ };
+
$filesystemDriver = Storage::getDefaultDriver();
- if($filesystemDriver === 's3'){
- return response([ 'src' => AWSS3Helper::S3Exportable($exportFileName, $exportsTransactions) ]);
- }
- else{
+ if ($filesystemDriver === 's3') {
+ return response(['src' => AWSS3Helper::S3Exportable($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/resources/assets/vue/components/bookings/elements/DownloadBillingWithDatesComponent.vue b/resources/assets/vue/components/bookings/elements/DownloadBillingWithDatesComponent.vue
index 867ee932..1c96cb94 100644
--- a/resources/assets/vue/components/bookings/elements/DownloadBillingWithDatesComponent.vue
+++ b/resources/assets/vue/components/bookings/elements/DownloadBillingWithDatesComponent.vue
@@ -19,7 +19,7 @@
@@ -80,27 +80,44 @@ export default {
}
},
methods: {
- downloadReport(){
- var apiRoute = '';
- if(!this.validate()){ return; }
- switch(this.parameters.reportType) {
- case 'Payments Report':
- apiRoute = route('paymentTransactions.export');
- break;
- case 'Wallets Report':
- apiRoute = route('walletTransactions.export');
- break;
- case 'White Form Report':
- apiRoute = route('whiteFormTransactions.export');
- break;
- }
- 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');
+ options() {
+ return [
+ 'Payments Report',
+ 'White Form Report',
+ 'Wallet Top Up Report',
+ 'Wallet Payment Report',
+ 'Wallet Credit Note Report',
+ 'Wallet Debit Note Report',
+ ];
+ },
+ downloadReport() {
+ if (!this.validate()) return;
+
+ const reportType = this.parameters.reportType;
+ const walletTypes = {
+ 'Wallet Payment Report': 'payment',
+ 'Wallet Credit Note Report': 'credit_note',
+ 'Wallet Debit Note Report': 'debit_note',
+ };
+
+ const routesMap = {
+ 'Payments Report': route('paymentTransactions.export'),
+ 'White Form Report': route('whiteFormTransactions.export'),
+ 'Wallet Top Up Report': route('walletTransactions.export'),
+ 'Wallet Payment Report': route('walletTransactions.export'),
+ 'Wallet Credit Note Report': route('walletTransactions.export'),
+ 'Wallet Debit Note Report': route('walletTransactions.export'),
+ };
+
+ let url = `${routesMap[reportType]}?startDate=${this.parameters.startDate}&endDate=${this.parameters.endDate}`;
+
+ if (walletTypes[reportType]) {
+ url += `&type=${walletTypes[reportType]}`;
}
+
+ window.LARAVEL_VAPOR_ENABLED
+ ? this.submit(url, 'get', this.section, false, false)
+ : window.open(url, '_blank');
},
updateDocumentType(documentType) {
this.parameters.type = documentType;
diff --git a/resources/views/partials/header.blade.php b/resources/views/partials/header.blade.php
index eaeeaec7..54a1783a 100644
--- a/resources/views/partials/header.blade.php
+++ b/resources/views/partials/header.blade.php
@@ -66,6 +66,9 @@
+