From 84c4a07d6fae65290371d0b7fcc31e79ed0b5581 Mon Sep 17 00:00:00 2001 From: jaroslawmajcher Date: Wed, 25 Sep 2024 12:27:16 +0200 Subject: [PATCH] Execute SendPurchaseEventHandler only if gtag is enabled --- src/Message/Handler/SendPurchaseEventHandler.php | 9 ++++++++- src/Resources/config/services/message.xml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Message/Handler/SendPurchaseEventHandler.php b/src/Message/Handler/SendPurchaseEventHandler.php index 4004743..fa3fa1c 100644 --- a/src/Message/Handler/SendPurchaseEventHandler.php +++ b/src/Message/Handler/SendPurchaseEventHandler.php @@ -29,15 +29,22 @@ class SendPurchaseEventHandler private EventDispatcherInterface $eventDispatcher; - public function __construct(OrderRepositoryInterface $orderRepository, PropertyRepositoryInterface $propertyRepository, EventDispatcherInterface $eventDispatcher) + private bool $gtagEnabled; + + public function __construct(OrderRepositoryInterface $orderRepository, PropertyRepositoryInterface $propertyRepository, EventDispatcherInterface $eventDispatcher, bool $gtagEnabled) { $this->orderRepository = $orderRepository; $this->propertyRepository = $propertyRepository; $this->eventDispatcher = $eventDispatcher; + $this->gtagEnabled = $gtagEnabled; } public function __invoke(SendPurchaseEvent $message): void { + if (false === $this->gtagEnabled) { + return; + } + $order = $this->orderRepository->find($message->orderId); if (!$order instanceof OrderInterface) { throw new UnrecoverableMessageHandlingException(sprintf( diff --git a/src/Resources/config/services/message.xml b/src/Resources/config/services/message.xml index c0bf5a9..b50211a 100644 --- a/src/Resources/config/services/message.xml +++ b/src/Resources/config/services/message.xml @@ -8,6 +8,7 @@ + %setono_google_analytics.gtag_enabled%