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