<?php
/*
* This file is part of the Sylius package.
*
* (c) Paweł Jędrzejewski
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Sylius\Bundle\ShopBundle\EventListener;
use Sylius\Bundle\ResourceBundle\Event\ResourceControllerEvent;
use Sylius\Component\Core\Model\OrderInterface;
use Sylius\Component\Locale\Context\LocaleContextInterface;
use Webmozart\Assert\Assert;
final class OrderLocaleAssigner
{
/** @var LocaleContextInterface */
private $localeContext;
public function __construct(LocaleContextInterface $localeContext)
{
$this->localeContext = $localeContext;
}
public function assignLocale(ResourceControllerEvent $event): void
{
$order = $event->getSubject();
/** @var OrderInterface $order */
Assert::isInstanceOf($order, OrderInterface::class);
$order->setLocaleCode($this->localeContext->getLocaleCode());
}
}