From 4e4ae007c45e3f826898e760a79a81679910e04f Mon Sep 17 00:00:00 2001 From: Gnieark Date: Thu, 2 Jan 2020 21:18:47 +0100 Subject: [PATCH] wip --- src/Controller/SecurityController.php | 31 ++++++++++++++++++++-- templates/security/listUsers.html.twig | 36 ++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 templates/security/listUsers.html.twig diff --git a/src/Controller/SecurityController.php b/src/Controller/SecurityController.php index e0766d4..6aa2879 100644 --- a/src/Controller/SecurityController.php +++ b/src/Controller/SecurityController.php @@ -8,11 +8,14 @@ use Symfony\Component\Form\Extension\Core\Type\PasswordType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\EmailType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Security\Http\Authentication\AuthenticationUtils; use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface; use App\Entity\User; +use App\Service\Menus; +use Doctrine\ORM\EntityManagerInterface; class SecurityController extends AbstractController @@ -92,10 +95,34 @@ class SecurityController extends AbstractController } } - + private function getformCreateUser() + { + return $this->createFormBuilder() + ->add('email', EmailType::class,[]) + ->add('password', PasswordType::class, []) + ->add('display_name', TextType::class,[]) + ->add('roles', ChoiceType::class, [ + 'choices' => [ + 'USER' => false, + 'RESOURCE_MANAGER' => 'RESOURCE_MANAGER', + 'SUPER ADMIN' => 'SUPER_ADMIN', + ], + 'multiple' => false + ]) + ->add('save', SubmitType::class,[]) + ->getForm(); + } public function showUserManagePage() { - + $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() + ]); } } diff --git a/templates/security/listUsers.html.twig b/templates/security/listUsers.html.twig new file mode 100644 index 0000000..e457b94 --- /dev/null +++ b/templates/security/listUsers.html.twig @@ -0,0 +1,36 @@ +{% extends 'base.html.twig' %} +{% block title %}Manage users{% endblock %} +{% block header %}

Manage users

{% endblock %} +{% block nav %}{% include 'menus.html.twig' %}{% endblock %} +{% block content %} + +
+

Create a new user

+ {{ form(formCreateUser) }} +
+ +
+

Users list

+ + + + + + + + + + + {% for u in users %} + + + + + + + {% endfor %} + + +
Displayed NameLogin (email)RolesActive
{{ u.displayName }} {{ u.email }}{{ u.roles|join(',') }}{{ u.active? 'Yes':'No' }}
+
+{% endblock %} \ No newline at end of file