Ejemplo n.º 1
0
 public function newAction(Request $request)
 {
     $form = $this->get('form.factory')->create(new FormType\User\CreateUserType());
     $form->handleRequest($request);
     if ($form->isValid()) {
         $data = $form->getData();
         $em = $this->getDoctrine()->getManager();
         # Persisting identity principal
         $principalidentity = new UserPrincipal();
         $principalidentity->setDisplayname($data['displayname']);
         $principalidentity->setUri('principals/' . $data['username']);
         $principalidentity->setEmail($data['email']);
         $em->persist($principalidentity);
         # Persisting user
         $user = new User();
         $user->setUsername($data['username']);
         $user->setPassword($this->get('security.encoder_factory')->getEncoder($user)->encodePassword($data['password'], $user->getSalt()));
         foreach ($data['roles'] as $role) {
             $user->addRole($role);
         }
         $em->persist($user);
         $em->flush();
         $this->get('session')->getFlashBag()->add('notice', 'User <i class="fa fa-user"></i> <strong>' . htmlspecialchars($user->getUsername()) . '</strong> has been created.');
         return $this->redirect($this->generateUrl('baikal_admin_user_list'));
     }
     return $this->render('BaikalAdminBundle:User:form.html.twig', array('form' => $form->createView()));
 }
Ejemplo n.º 2
0
 public function createAndPersistUser($username, $password)
 {
     # Persisting identity principal
     $principalidentity = new UserPrincipal();
     $principalidentity->setDisplayname(ucwords($username));
     $principalidentity->setUri('principals/' . $username);
     $principalidentity->setEmail('*****@*****.**');
     $this->entityManager->persist($principalidentity);
     # Persisting user
     $user = new User();
     $user->setUsername($username);
     # Not setting salt; handled by the user entity
     $user->setPassword($this->passwordencoder->encodePassword($password, $user->getSalt()));
     $user->addRole('ROLE_ADMIN');
     $user->addRole('ROLE_FRONTEND_USER');
     $this->entityManager->persist($user);
     $this->entityManager->flush();
     return $user;
 }