/** * {@inheritDoc} */ public function generateUniqueToken() { do { $token = $this->generator->generate($this->tokenLength); } while ($this->isUsedCode($token)); return $token; }
/** * @param ShopUserInterface $user */ private function handleUserVerificationToken(ShopUserInterface $user) { $token = $this->tokenGenerator->generate(); $user->setEmailVerificationToken($token); $this->userManager->persist($user); $this->userManager->flush(); $this->eventDispatcher->dispatch(UserEvents::REQUEST_VERIFICATION_TOKEN, new GenericEvent($user)); }
/** * {@inheritDoc} */ public function generateUniqueToken() { $this->manager->getFilters()->disable('softdeleteable'); do { $token = $this->generator->generate($this->tokenLength); } while ($this->isUsedCode($token)); $this->manager->getFilters()->enable('softdeleteable'); return $token; }
/** * @param GeneratorInterface $generator * @param UserInterface $user * @param string $senderEvent * * @return Response */ protected function handleResetPasswordRequest(GeneratorInterface $generator, UserInterface $user, $senderEvent) { $user->setPasswordResetToken($generator->generate()); $user->setPasswordRequestedAt(new \DateTime()); /* I have to use doctrine manager directly, because domain manager functions add a flash messages. I can't get rid of them.*/ $manager = $this->container->get('doctrine.orm.default_entity_manager'); $manager->persist($user); $manager->flush(); $dispatcher = $this->container->get('event_dispatcher'); $dispatcher->dispatch($senderEvent, new GenericEvent($user)); }