custom/static-plugins/EfbStorefront/Subscriber/CustomerSetDefaultAddressSubscriber.php line 26

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Uandi\EFB\Storefront\Subscriber;
  3. use Shopware\Core\Checkout\Customer\Event\CustomerSetDefaultShippingAddressEvent;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Uandi\EFB\Storefront\Service\ActiveAddressService;
  6. class CustomerSetDefaultAddressSubscriber implements EventSubscriberInterface
  7. {
  8.     private ActiveAddressService $activeAddressService;
  9.     public static function getSubscribedEvents(): array
  10.     {
  11.         return [
  12.             CustomerSetDefaultShippingAddressEvent::class => 'onCustomerDefaultShippingAddressSet'
  13.         ];
  14.     }
  15.     public function __construct(ActiveAddressService $activeAddressService)
  16.     {
  17.         $this->activeAddressService $activeAddressService;
  18.     }
  19.     public function onCustomerDefaultShippingAddressSet(CustomerSetDefaultShippingAddressEvent $event)
  20.     {
  21.         $context $event->getSalesChannelContext();
  22.         if ($this->activeAddressService->isActiveAddress($event->getCustomer()->getDefaultShippingAddressId(), $context)) {
  23.             $this->activeAddressService->changeActiveAddress($event->getAddressId(), $context);
  24.         }
  25.     }
  26. }