From c311f3a88e84159fe4ec3a06656ced8b99d9ef5b Mon Sep 17 00:00:00 2001 From: gnieark Date: Thu, 2 Jan 2020 22:27:51 +0100 Subject: [PATCH] can register user now --- config/routes.yaml | 2 +- src/Controller/SecurityController.php | 31 ++++++++++++++++++++++++-- templates/security/listUsers.html.twig | 1 + 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/config/routes.yaml b/config/routes.yaml index 3e96df1..9e1846f 100644 --- a/config/routes.yaml +++ b/config/routes.yaml @@ -21,4 +21,4 @@ register: users: path: /users controller: App\Controller\SecurityController::showUserManagePage - methods: GET \ No newline at end of file + methods: GET|POST \ No newline at end of file diff --git a/src/Controller/SecurityController.php b/src/Controller/SecurityController.php index 6aa2879..0b9cb92 100644 --- a/src/Controller/SecurityController.php +++ b/src/Controller/SecurityController.php @@ -112,16 +112,43 @@ class SecurityController extends AbstractController ->add('save', SubmitType::class,[]) ->getForm(); } - public function showUserManagePage() + + public function showUserManagePage(Request $request, UserPasswordEncoderInterface $passwordEncoder) { + + + $formCreateUser = $this->getformCreateUser(); + $formCreateUser->handleRequest($request); + + if ($formCreateUser->isSubmitted() && $formCreateUser->isValid()) { + $userValues = $formCreateUser->getData(); + + $user = new User(); + $user ->setEmail($userValues ["email"]) + ->setPassword( $passwordEncoder->encodePassword($user,$userValues ["password"]) ) + ->setDisplayName( $userValues ["display_name"] ) + ->setActive(true) + ->setRoles(array( $userValues["roles"] )); + + $entityManager = $this->getDoctrine()->getManager(); + $entityManager->persist($user); + $entityManager->flush(); + + //empty the form + $formCreateUser = $this->getformCreateUser(); + + } + $users = $this->getDoctrine() ->getRepository(User::class) ->findAll(); $menus = new Menus(); + + return $this->render('security/listUsers.html.twig', [ "menus" => $menus->getMenus( $this->getUser() ), "users" => $users, - "formCreateUser" => $this->getformCreateUser()->createView() + "formCreateUser" => $formCreateUser->createView() ]); } diff --git a/templates/security/listUsers.html.twig b/templates/security/listUsers.html.twig index e457b94..979ef12 100644 --- a/templates/security/listUsers.html.twig +++ b/templates/security/listUsers.html.twig @@ -7,6 +7,7 @@

Create a new user

{{ form(formCreateUser) }} +

{{ form_errors(formCreateUser) }}