From c373e2b9bbd15ce11aa6851a7b18fa7a922c579d Mon Sep 17 00:00:00 2001 From: Dillon Ngo Date: Sat, 10 May 2025 15:42:58 +0800 Subject: [PATCH] E-Invoice - Initial commit main feature integration --- .../General/Abstracts/AbstractRule.php | 1 + .../General/Eloquent/Filters/IsEInvoice.php | 19 +++++++++++++++++++ .../ControllersLogic/ListAddressesLogic.php | 6 +++--- .../elements/EInvoiceInfoComponent.vue | 6 +++--- 4 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 app/Classes/General/Eloquent/Filters/IsEInvoice.php diff --git a/app/Classes/General/Abstracts/AbstractRule.php b/app/Classes/General/Abstracts/AbstractRule.php index 7d78108e..2e88399a 100644 --- a/app/Classes/General/Abstracts/AbstractRule.php +++ b/app/Classes/General/Abstracts/AbstractRule.php @@ -24,6 +24,7 @@ abstract class AbstractRule * @return bool * @throws AccessForbiddenException * @throws RequestValidationException + * @throws CriteriaNotFulfilledException */ public function passes(?DataTransferObject $object = null): bool { try { diff --git a/app/Classes/General/Eloquent/Filters/IsEInvoice.php b/app/Classes/General/Eloquent/Filters/IsEInvoice.php new file mode 100644 index 00000000..001b5f3e --- /dev/null +++ b/app/Classes/General/Eloquent/Filters/IsEInvoice.php @@ -0,0 +1,19 @@ +where('e_invoice', $value); + } +} diff --git a/app/Classes/Modules/Addresses/ControllersLogic/ListAddressesLogic.php b/app/Classes/Modules/Addresses/ControllersLogic/ListAddressesLogic.php index 57e3a2f0..c75f0623 100644 --- a/app/Classes/Modules/Addresses/ControllersLogic/ListAddressesLogic.php +++ b/app/Classes/Modules/Addresses/ControllersLogic/ListAddressesLogic.php @@ -50,10 +50,10 @@ class ListAddressesLogic extends AbstractControllerLogic public function logic(Request $request) : JsonResponse { try { - $this->canListAddresses->passes(); - $query = $this->listsAddresses->execute($this->listsAddresses->deserializeFilters($request->input('filters'))); + $query = $this->listsAddresses->execute( + array_merge($this->listsAddresses->deserializeFilters($request->input('filters')), ['is_e_invoice' => false])); //exclude all addresses meant for e_invoice return $this->collectionResponse(AddressResource::collection($query)); @@ -63,4 +63,4 @@ class ListAddressesLogic extends AbstractControllerLogic } -} \ No newline at end of file +} diff --git a/resources/assets/vue/components/bookings/elements/EInvoiceInfoComponent.vue b/resources/assets/vue/components/bookings/elements/EInvoiceInfoComponent.vue index 0f803545..1e30b167 100644 --- a/resources/assets/vue/components/bookings/elements/EInvoiceInfoComponent.vue +++ b/resources/assets/vue/components/bookings/elements/EInvoiceInfoComponent.vue @@ -1,7 +1,7 @@