vendor/store.shopware.com/swagb2bplatform/components/OrderClearance/BridgePlatform/OrderAuditLogSubscriber.php line 33

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\B2B\OrderClearance\BridgePlatform;
  3. use Shopware\B2B\Order\BridgePlatform\OrderContextStateChangedEvent;
  4. use Shopware\B2B\OrderClearance\Framework\OrderClearanceRepository;
  5. use Shopware\B2B\OrderClearance\Framework\OrderClearanceService;
  6. use Shopware\B2B\StoreFrontAuthentication\Framework\AuthenticationService;
  7. use Shopware\Core\Checkout\Order\OrderStates;
  8. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  9. class OrderAuditLogSubscriber implements EventSubscriberInterface
  10. {
  11.     private AuthenticationService $authenticationService;
  12.     private OrderClearanceService $orderClearanceService;
  13.     public function __construct(
  14.         AuthenticationService $authenticationService,
  15.         OrderClearanceService $orderClearanceService
  16.     ) {
  17.         $this->authenticationService $authenticationService;
  18.         $this->orderClearanceService $orderClearanceService;
  19.     }
  20.     public static function getSubscribedEvents(): array
  21.     {
  22.         return [
  23.             OrderContextStateChangedEvent::class => 'writeLogEntry',
  24.         ];
  25.     }
  26.     public function writeLogEntry(OrderContextStateChangedEvent $event): void
  27.     {
  28.         $orderContext $event->getOrderContext();
  29.         if (!$this->authenticationService->isB2b()) {
  30.             return;
  31.         }
  32.         if (OrderStates::STATE_OPEN !== $event->getNewStatus()) {
  33.             return;
  34.         }
  35.         if (OrderClearanceRepository::STATE_CLEARANCE_OPEN !== $event->getOldStatus()) {
  36.             return;
  37.         }
  38.         $this->orderClearanceService
  39.             ->createOrderAcceptedStatusChangeLogEntry($orderContext->id$this->authenticationService->getIdentity());
  40.     }
  41. }