src/BookingProcess/ProcessEventSubscriber/ProcessFullwebCostaSubscriber.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\BookingProcess\ProcessEventSubscriber;
  3. use App\BookingProcess\ProcessHelper\Company\Cabin\CostaCabinHelper;
  4. use App\Entity\Booking\Quote;
  5. use Crea\ProcessBundle\ProcessEvent\ProcessEvents;
  6. use Crea\ProcessBundle\ProcessEvent\ProcessResponseEvent;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class ProcessFullwebCostaSubscriber implements EventSubscriberInterface
  9. {
  10.     protected CostaCabinHelper $costaCabinHelper;
  11.     public function __construct(CostaCabinHelper $costaCabinHelper)
  12.     {
  13.         $this->costaCabinHelper $costaCabinHelper;
  14.     }
  15.     public static function getSubscribedEvents(): array
  16.     {
  17.         return [
  18.             ProcessEvents::PROCESS_RESPONSE => 'processResponse',
  19.         ];
  20.     }
  21.     public function processResponse(ProcessResponseEvent $event): void
  22.     {
  23.         $state $event->getProcess()->getState();
  24.         if (($state->getDisplayStepIndex() === "step-fullweb-costa-cabin" && $state->getOperationStepIndex() === null) ||
  25.             ($state->getDisplayStepIndex() === "step-fullweb-costa-cabin" && $state->getOperationStepIndex() === "step-fullweb-costa-cabin-ship-view")) {
  26.             /** @var Quote $quote */
  27.             $quote $event->getProcess()->getEntity();
  28.             $this->costaCabinHelper->initSession($quote);
  29.         }
  30.     }
  31. }