src/EventSubscriber/UserLoggedFromWlpgaSubscriber.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use App\Entity\User;
  4. use App\Events;
  5. use Doctrine\Common\Persistence\ObjectManager;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. use Symfony\Component\EventDispatcher\GenericEvent;
  8. class UserLoggedFromWlpgaSubscriber implements EventSubscriberInterface
  9. {
  10.     /**
  11.      * @var ObjectManager
  12.      */
  13.     private $objectManager;
  14.     /**
  15.      * @param ObjectManager $objectManager
  16.      */
  17.     public function __construct(ObjectManager $objectManager)
  18.     {
  19.         $this->objectManager $objectManager;
  20.     }
  21.     /**
  22.      * @param GenericEvent $event
  23.      */
  24.     public function OnUserLoggedFromWlpga(GenericEvent $event)
  25.     {
  26.         /**
  27.          * @var $currentUser User
  28.          */
  29.         $currentUser $event->getSubject();
  30.         $currentUser->setRoles([User::ROLE_PREVIOUS_ADMIN]);
  31.         $this->objectManager->persist($currentUser);
  32.         $this->objectManager->flush();
  33.     }
  34.     /**
  35.      * @return string[]
  36.      */
  37.     public static function getSubscribedEvents()
  38.     {
  39.         return [
  40.             Events::USER_LOGGED_FROM_WLPGA => 'OnUserLoggedFromWlpga'
  41.         ];
  42.     }
  43. }