src/Aqarmap/Bundle/UserBundle/EventListener/ResetPasswordListener.php line 33

Open in your IDE?
  1. <?php
  2. namespace Aqarmap\Bundle\UserBundle\EventListener;
  3. use Aqarmap\Bundle\NotificationBundle\Types\UserPasswordReset;
  4. use FOS\UserBundle\Event\FilterUserResponseEvent;
  5. use FOS\UserBundle\FOSUserEvents;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
  8. class ResetPasswordListener implements EventSubscriberInterface
  9. {
  10.     /**
  11.      * @var EventDispatcherInterface
  12.      */
  13.     private $eventDispatcher;
  14.     /**
  15.      * UserManager constructor.
  16.      */
  17.     public function __construct(EventDispatcherInterface $eventDispatcher)
  18.     {
  19.         $this->eventDispatcher $eventDispatcher;
  20.     }
  21.     public static function getSubscribedEvents()
  22.     {
  23.         return [
  24.             FOSUserEvents::RESETTING_RESET_COMPLETED => 'passwordResetCompleted',
  25.         ];
  26.     }
  27.     public function passwordResetCompleted(FilterUserResponseEvent $event): void
  28.     {
  29.         $event = (new UserPasswordReset())->setSubject($event->getUser());
  30.         $this->eventDispatcher->dispatch($event'user.password.reset');
  31.     }
  32. }