1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
//Appeler par un Administrateur lorsqu'il cree un utilisateur lui meme
public function createAction()
{
$userManager = $this->container->get('fos_user.user_manager');
$user = $userManager->createUser();
$message='';
$erreur_message='';
$form = $this->container->get('form.factory')->create(new UtilisateurForm(), $user);
$request = $this->container->get('request');
$tab = $request->get('utilisateur');
if ($request->getMethod() == 'POST'){
$form->bindRequest($request);
if ($form->isValid()){
$validator = $this->get('validator');
$validatorEmail = new EmailValidator();
if (!$validatorEmail->isValid($tab['email'],new Email())){
$erreur_message = 'Erreur : Cette adresse email est invalide!';
}
if ($erreur_message == ''){
if ($user->getUsername() != $tab['username']){
$user_ctrl = $userManager->findUserByUsername($tab['username']);
if (isset($user_ctrl)){
$erreur_message='Erreur : Un utilisateur avec cet identifiant existe déjà!';
}
}
$user_ctrl = $userManager->findUserByEmail($tab['email']);
if (isset($user_ctrl)){
if ($user_ctrl->getId() != $user->getId()){
$erreur_message='Erreur : Un utilisateur avec cet email existe déjà!';
}
}
if ($erreur_message == ''){
$user->setSociete($user->getEntreprise()->getNom());
$encoder = $this->container->get('security.encoder_factory')->getEncoder($user);
$password = $encoder->encodePassword($user->getPassword(), $user->getSalt());
$user->setPassword($password);
$user->setEnabled(true);
$userManager->updateUser($user);
}
}
}
}
return $this->container->get('templating')->renderResponse(
'MyAppUtilisateurBundle:GestionUtilisateur:create.html.twig',
array(
'form' => $form->createView(),
'message' => $message,
'erreur_message' => $erreur_message,
));
} |
Partager