From 62bfa4549a01fce5077f6036590f943d89478223 Mon Sep 17 00:00:00 2001 From: Mikel Martin Date: Wed, 8 Jan 2025 11:11:01 +0100 Subject: [PATCH] Set home delivery to false if shippingMethods is instore pickup or similar --- .../Builders/CreateOrderRequestBuilder.php | 40 +++++++++++++++---- bin/n98-magerun2 | 2 +- bin/update-sources | 2 +- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/Model/Api/Builders/CreateOrderRequestBuilder.php b/Model/Api/Builders/CreateOrderRequestBuilder.php index a3b168e..c2ea793 100644 --- a/Model/Api/Builders/CreateOrderRequestBuilder.php +++ b/Model/Api/Builders/CreateOrderRequestBuilder.php @@ -191,22 +191,48 @@ public function isAllowedFor(GeneralSettingsResponse $generalSettingsResponse): private function generateCreateOrderRequest(): CreateOrderRequest { + //@var string + $shippingMethod = $this->quote->getShippingAddress()->getShippingMethod(); return CreateOrderRequest::fromArray([ 'state' => '', 'merchant' => $this->getMerchantData(), -// 'merchant_reference' => [ -// 'order_ref_1' => $request->getOrder()->getId(), -// ], 'cart' => $this->getCart(), 'delivery_method' => [ - 'name' => $this->quote->getShippingAddress()->getShippingMethod(), + 'name' => $shippingMethod, + 'home_delivery' => !in_array( + $shippingMethod, + [ + //Magento MSI In-Store Pickup (BOPIS) + 'msi_instore_pickup', + 'instore_pickup', + //Amasty Store Pickup + 'amstorepickup_amstorepickup', + 'amstorepickup_storepickup', + //Mageplaza Store Pickup + 'mageplaza_storepickup', + //Mirasvit Store Pickup + 'mirasvit_pickup', + 'mirasvit_storepickup', + //MageWorx Store Pickup + 'mageworx_storepickup', + 'mageworx_instore_pickup', + //Webkul Store Pickup + 'webkul_storepickup', + //Other/Generic or Custom Store Pickup + 'storepickup_storepickup', + 'pickup_storepickup', + 'clickandcollect_clickandcollect', + 'instorepickup_instorepickup', + 'pickup_pickup', + 'clickandcollect', + 'pick_instore', + 'pickup', + ] + ), ], 'delivery_address' => $this->getAddress($this->quote->getShippingAddress()), 'invoice_address' => $this->getAddress($this->quote->getBillingAddress()), 'customer' => $this->getCustomer(), -// 'instore' => [ -// 'code' => $request->getOrder()->getId(), -// ], 'gui' => [ 'layout' => 'desktop', ], diff --git a/bin/n98-magerun2 b/bin/n98-magerun2 index 6319f7f..f3f8203 100755 --- a/bin/n98-magerun2 +++ b/bin/n98-magerun2 @@ -1,4 +1,4 @@ #!/bin/bash docker compose exec -u daemon -w /bitnami/magento magento bash -c \ -"[ ! -f 'vendor/bin/n98-magerun2' ] && vendor/bin/composer require n98/magerun2-dist" +"[ ! -f 'vendor/bin/n98-magerun2' ] && php vendor/bin/composer require n98/magerun2-dist" docker compose exec -u daemon -w /bitnami/magento magento vendor/bin/n98-magerun2 $@ \ No newline at end of file diff --git a/bin/update-sources b/bin/update-sources index 681bdc6..159b177 100755 --- a/bin/update-sources +++ b/bin/update-sources @@ -1,2 +1,2 @@ #!/bin/bash -docker cp ${COMPOSE_PROJECT_NAME:-sequra}-magento:/var/www/html .magento-src \ No newline at end of file +docker cp ${COMPOSE_PROJECT_NAME:-magento2-core}-magento:/bitnami/magento .magento-src \ No newline at end of file