From a3fbe6f19f70f8ca2e878d4f632b28c1c29b8522 Mon Sep 17 00:00:00 2001
From: Philipp Stracker
Date: Mon, 17 Feb 2025 16:46:12 +0100
Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Refactor=20EarlyOrderHandl?=
=?UTF-8?q?er?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
modules/ppcp-button/services.php | 10 +++++-----
.../ppcp-button/src/Helper/EarlyOrderHandler.php | 14 +++++++-------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/modules/ppcp-button/services.php b/modules/ppcp-button/services.php
index dbb271686..faedc98be 100644
--- a/modules/ppcp-button/services.php
+++ b/modules/ppcp-button/services.php
@@ -241,11 +241,11 @@ return array(
);
},
'button.helper.early-order-handler' => static function ( ContainerInterface $container ) : EarlyOrderHandler {
-
- $state = $container->get( 'onboarding.state' );
- $order_processor = $container->get( 'wcgateway.order-processor' );
- $session_handler = $container->get( 'session.handler' );
- return new EarlyOrderHandler( $state, $order_processor, $session_handler );
+ return new EarlyOrderHandler(
+ $container->get( 'settings.flag.is-connected' ),
+ $container->get( 'wcgateway.order-processor' ),
+ $container->get( 'session.handler' )
+ );
},
'button.endpoint.approve-order' => static function ( ContainerInterface $container ): ApproveOrderEndpoint {
$request_data = $container->get( 'button.request-data' );
diff --git a/modules/ppcp-button/src/Helper/EarlyOrderHandler.php b/modules/ppcp-button/src/Helper/EarlyOrderHandler.php
index 46b4ddf41..e3cac3131 100644
--- a/modules/ppcp-button/src/Helper/EarlyOrderHandler.php
+++ b/modules/ppcp-button/src/Helper/EarlyOrderHandler.php
@@ -23,11 +23,11 @@ use WooCommerce\PayPalCommerce\WcGateway\Processor\OrderProcessor;
class EarlyOrderHandler {
/**
- * The State.
+ * Whether the merchant is connected to PayPal (onboarding completed).
*
- * @var State
+ * @var bool
*/
- private $state;
+ private bool $is_connected;
/**
* The Order Processor.
@@ -46,17 +46,17 @@ class EarlyOrderHandler {
/**
* EarlyOrderHandler constructor.
*
- * @param State $state The State.
+ * @param bool $is_connected Whether onboarding was completed.
* @param OrderProcessor $order_processor The Order Processor.
* @param SessionHandler $session_handler The Session Handler.
*/
public function __construct(
- State $state,
+ bool $is_connected,
OrderProcessor $order_processor,
SessionHandler $session_handler
) {
- $this->state = $state;
+ $this->is_connected = $is_connected;
$this->order_processor = $order_processor;
$this->session_handler = $session_handler;
}
@@ -67,7 +67,7 @@ class EarlyOrderHandler {
* @return bool
*/
public function should_create_early_order(): bool {
- return $this->state->current_state() === State::STATE_ONBOARDED;
+ return $this->is_connected;
}
//phpcs:disable WordPress.Security.NonceVerification.Recommended