/** * @ORM\PostLoad * * @param \Venne\Security\User $user * @param \Doctrine\ORM\Event\LifecycleEventArgs $event */ public function postLoadHandler(User $user, LifecycleEventArgs $event) { $em = $event->getEntityManager(); $user->setExtendedUserCallback(function () use($em, $user) { return $em->getRepository($user->getClass())->findOneBy(array('user' => $user->id)); }); }
/** * @return string */ public function __toString() { return $this->user->__toString(); }
/** * @param \Venne\Security\User $user * @param string $link * @param \Venne\Security\User|null $sendBy */ public function sendRecoveryUrl(User $user, $link, User $sendBy = null) { $sendBy = $sendBy !== null ? $sendBy : $user; $this->emailManager->send($user->getEmail(), null, PasswordRecoveryEvent::getName(), 'passwordRecovery', array('link' => $link)); $this->notificationManager->notify(PasswordRecoveryEvent::getName(), $user, 'passwordRecovery', 'Password recovery URL has been sent.', $sendBy); }