/**
* 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);
}
}