/** * {@inheritdoc} */ public function updateUser(UserInterface $user, $andFlush = true) { // Extract email part before the `@` character to use it as username is username not set if (null === $user->getUsername()) { $user->setUsername(substr($user->getEmail(), 0, strpos($user->getEmail(), '@'))); } // Call parent after as does not override parent and parent do the flush parent::updateUser($user, $andFlush); }
protected function onSuccess(UserInterface $user, $confirmation) { $user->setUsername($user->getUsername()); $user->setLocked(false); $user->setEnabled(true); $user->setCreatedAt(new \DateTime('now')); $em = $this->container->get('doctrine.odm.mongodb.document_manager'); parent::onSuccess($user, $confirmation); }
/** * Enforces that the given user will have an username * @param \FOS\UserBundle\Model\UserInterface $user */ public function enforceUsername(UserInterface $user) { $current = $user->getUsernameCanonical(); if (is_null($current) || strlen($current) == 0) { $email = explode('@', $user->getEmailCanonical(), 2); $username = $email[0]; if (!UsernameValidator::isUsernameValid($username)) { $username = UsernameValidator::getValidUsername(); } $newUsername = $this->getNextAvailableUsername($username); $user->setUsername($newUsername); $this->updateCanonicalFields($user); } }