<?php
namespace App\Subscribers;
use App\Entity\OrderMecene;
use Doctrine\ORM\EntityManagerInterface;
use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityPersistedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface;
class EasyAdminCompanyOrder implements EventSubscriberInterface
{
private $token, $emi;
public function __construct(EntityManagerInterface $emi,TokenStorageInterface $token)
{
$this->emi = $emi;
$this->token = $token;
}
public function AffectationOrderMeceneToCampany(BeforeEntityPersistedEvent $event)
{
$orderMecene = $event->getEntityInstance();
$companyConnected = $this->token->getToken()->getUser()->getCompany();
if ($orderMecene instanceof OrderMecene) {
$orderMecene->setCompany($companyConnected);
$this->emi->persist($orderMecene);
}
}
public static function getSubscribedEvents()
{
return [
BeforeEntityPersistedEvent::class => 'AffectationOrderMeceneToCampany',
];
}
}