render('user/index.html.twig', [ 'users' => $userRepository->findAll(), ]); } /** * @Route("/new", name="user_new", methods={"GET","POST"}) */ public function new(Request $request, UserPasswordEncoderInterface $passwordEncoder): Response { $user = new User(); $form = $this->createForm(UserType::class, $user); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $entityManager = $this->getDoctrine()->getManager(); $user->setPassword( $passwordEncoder->encodePassword($user, $user->getPassword()) ); $user->setActive((bool) $form->get('active')->getData()) ->setRoles($form->get('roles')->getData()); $entityManager->persist($user); $entityManager->flush(); return $this->redirectToRoute('user_index'); } return $this->render('user/new.html.twig', [ 'user' => $user, 'form' => $form->createView(), ]); } /** * @Route("/{id}", name="user_show", methods={"GET"}) */ public function show(User $user): Response { return $this->render('user/show.html.twig', [ 'user' => $user, ]); } /** * @Route("/{id}/edit", name="user_edit", methods={"GET","POST"}) */ public function edit(Request $request, User $user): Response { $form = $this->createForm(UserType::class, $user); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $this->getDoctrine()->getManager()->flush(); return $this->redirectToRoute('user_index', [ 'id' => $user->getId(), ]); } return $this->render('user/edit.html.twig', [ 'user' => $user, 'form' => $form->createView(), ]); } /** * @Route("/{id}", name="user_delete", methods={"DELETE"}) */ public function delete(Request $request, User $user): Response { if ($this->isCsrfTokenValid('delete'.$user->getId(), $request->request->get('_token'))) { $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($user); $entityManager->flush(); } return $this->redirectToRoute('user_index'); } }