示例#1
0
 /**
  * Método para cargar usuarios de prueba
  */
 private function loadUsers(ObjectManager $manager, $username, $email, $password, $roles)
 {
     $date = new \DateTime(date('Y-m-d H:i:s'));
     $user = new Users();
     $user->setSalt(md5(uniqid(null, true)));
     $encoder = $this->container->get('security.password_encoder');
     $pass = $encoder->encodePassword($password, $user->getSalt());
     $user->setUsername($username);
     $user->setEmail($email);
     $user->setPassword($pass);
     $user->setActive(1);
     $user->setRoles($roles);
     $user->setCreatedAt($date);
     $user->setModifiedAt($date);
     $user->setCreatedBy(1);
     $manager->persist($user);
     unset($user);
     $manager->flush();
 }
 /**
  * @Route("/register", name="register")
  */
 public function registerAction(Request $request)
 {
     if ($this->isGranted('IS_AUTHENTICATED_FULLY')) {
         return $this->redirectToRoute('index');
     }
     $user = new Users();
     $user->setRoles(['ROLE_USER']);
     $form = $this->createFormBuilder($user)->add('username', TextType::class)->add('mail', EmailType::class, ['invalid_message' => 'Email jest nieprawidłowy'])->add('password', RepeatedType::class, ['type' => PasswordType::class, 'invalid_message' => 'Hasła muszą się zgadzać'])->add('add', SubmitType::class)->getForm();
     $form->handleRequest($request);
     //checks whether there is already such a user name, if not, user will be registered ..
     if ($form->isSubmitted() && $form->isValid()) {
         $users = $this->getDoctrine()->getRepository("AppBundle:Users")->findBy(['username' => $form->get('username')->getData()]);
         if (empty($users)) {
             $em = $this->getDoctrine()->getManager();
             $em->persist($user);
             $em->flush();
             $this->addFlash('form', "Zarejestrowano pomyślnie");
         } else {
             $this->addFlash('form', "Taki login już istnieje");
         }
     }
     $categories = $this->getDoctrine()->getRepository("AppBundle:Categories")->findAll();
     return $this->render('register.html.twig', ['form' => $form->createView(), 'categories' => $categories, 'title' => 'Rejestracja']);
 }