From be2e00297b1dc379bf0adb105097a0f6f4f0d85f Mon Sep 17 00:00:00 2001 From: JiaSheng Date: Mon, 11 Sep 2023 20:43:21 +0800 Subject: [PATCH] fix if customer or no invoices found --- .../BulkDownloadCustomerInvoicesLogic.php | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/app/Classes/Modules/Companies/ControllersLogic/BulkDownloadCustomerInvoicesLogic.php b/app/Classes/Modules/Companies/ControllersLogic/BulkDownloadCustomerInvoicesLogic.php index 25821b03..1c9caddb 100644 --- a/app/Classes/Modules/Companies/ControllersLogic/BulkDownloadCustomerInvoicesLogic.php +++ b/app/Classes/Modules/Companies/ControllersLogic/BulkDownloadCustomerInvoicesLogic.php @@ -34,22 +34,28 @@ class BulkDownloadCustomerInvoicesLogic })->orderBy('created_at')->get(); - $zip_file = "invoices_{$startDate}_to_{$endDate}_{$company->reference}.zip"; - - $zip = new ZipArchive(); - if ($zip->open($zip_file, ZIPARCHIVE::CREATE | ZipArchive::OVERWRITE)) { - foreach($invoicebookings as $booking) { - $invoice_file = $booking->documents()->where('document_type', DocumentType::INVOICE)->whereNull('deleted_at')->first()->files()->first(); - $zip->addFile(Storage::disk('documents')->path($invoice_file->file->file_info->original->file), 'invoice-' . $booking->created_at->format('d_m_Y') . '_' . $booking->marking . '.pdf'); - } - - $zip->close(); - while (ob_get_level()) { - ob_end_clean(); - } + if (count($invoicebookings) > 0) { + $zip_file = "invoices_{$startDate}_to_{$endDate}_{$company->reference}.zip"; - return response()->download($zip_file); + $zip = new ZipArchive(); + if ($zip->open($zip_file, ZIPARCHIVE::CREATE | ZipArchive::OVERWRITE)) { + foreach($invoicebookings as $booking) { + $invoice_file = $booking->documents()->where('document_type', DocumentType::INVOICE)->whereNull('deleted_at')->first()->files()->first(); + $zip->addFile(Storage::disk('documents')->path($invoice_file->file->file_info->original->file), 'invoice-' . $booking->created_at->format('d_m_Y') . '_' . $booking->marking . '.pdf'); + } + + $zip->close(); + while (ob_get_level()) { + ob_end_clean(); + } + + return response()->download($zip_file); + } + } else { + return response("No invoices found for this customer in the given date range."); } + } else { + return response("Customer not found"); } } }