<?php
namespace App\EventSubscriber\EasyAdmin;
use App\Entity\VehicleType;
use App\Entity\WasteType;
use App\Service\EntityTranslationManager;
use Doctrine\ORM\EntityManagerInterface;
use EasyCorp\Bundle\EasyAdminBundle\Event\AfterEntityBuiltEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class TranslationSubscriber implements EventSubscriberInterface
{
private $localesList;
private $entityManager;
private $entityTranslationManager;
public function __construct($localesList, EntityManagerInterface $entityManager, EntityTranslationManager $entityTranslationManager)
{
$this->localesList = $localesList;
$this->entityManager = $entityManager;
$this->entityTranslationManager = $entityTranslationManager;
}
public static function getSubscribedEvents()
{
return [
AfterEntityBuiltEvent::class => 'onAfterEntityBuiltEvent',
];
}
public function onAfterEntityBuiltEvent(AfterEntityBuiltEvent $event)
{
$entityInstance = $event->getEntity()->getInstance();
if ($entityInstance instanceof VehicleType or $entityInstance instanceof WasteType) {
$this->entityTranslationManager->createDefaultTranslation($entityInstance);
}
}
}