<?php
namespace App\Subscribers;
use App\Entity\Exercise;
use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityPersistedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Core\Security;
class ExerciseSubscriber implements EventSubscriberInterface
{
private $security;
public function __construct(Security $security)
{
$this->security = $security;
}
public static function getSubscribedEvents()
{
return [
BeforeEntityPersistedEvent::class => ['setUser']
];
}
public function setUser(BeforeEntityPersistedEvent $e)
{
$entity = $e->getEntityInstance();
if ($entity instanceof Exercise) {
$entity->setUser($this->security->getUser());
}
}
}