<?php
namespace App\EventSubscriber;
use App\Entity\User;
use App\Events;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\EventDispatcher\GenericEvent;
class UserLoggedFromWlpgaSubscriber implements EventSubscriberInterface
{
/**
* @var ObjectManager
*/
private $objectManager;
/**
* @param ObjectManager $objectManager
*/
public function __construct(ObjectManager $objectManager)
{
$this->objectManager = $objectManager;
}
/**
* @param GenericEvent $event
*/
public function OnUserLoggedFromWlpga(GenericEvent $event)
{
/**
* @var $currentUser User
*/
$currentUser = $event->getSubject();
$currentUser->setRoles([User::ROLE_PREVIOUS_ADMIN]);
$this->objectManager->persist($currentUser);
$this->objectManager->flush();
}
/**
* @return string[]
*/
public static function getSubscribedEvents()
{
return [
Events::USER_LOGGED_FROM_WLPGA => 'OnUserLoggedFromWlpga'
];
}
}