entityManager = $entityManager; } /** * @Route("/", name="index", methods={"GET"}) * @param UserRepository $userRepository * PaginatorInterface $paginator * Request $request */ public function index(UserRepository $userRepository, PaginatorInterface $paginator, Request $request): Response { $els = $paginator->paginate( $userRepository->createQueryBuilder('a')->getQuery(), $request->query->getInt('page', 1), 10 ); return $this->render('admin/crud/index.html.twig', [ 'els'=>$els, 'paginator'=>false, 'search'=>false, 'class'=> User::class, 'route'=> 'admin_app_user', 'breadcrumb'=>[ [ 'text'=>'tous les éléments' ] ], 'fields' => [ 'Id' => 'Id', 'Email' => 'Email', 'UserIdentifier' => 'UserIdentifier', 'Roles' => 'Roles', ], 'title' => 'Tous les élements', 'add_button_label'=>'Ajouter un élément' ]); } /** * @Route("/new", name="new", methods={"GET","POST"}) * @param Request $request * @param UserHandler $userHandler * @param Tools $tools * @return Response */ public function new(Request $request, Tools $tools, UserHandler $userHandler): Response { $user = new User(); $form = $this->createForm(UserType::class, $user); if ($userHandler->new($form, $request)) { return $this->redirectToRoute('admin_app_user_index'); } return $this->render('admin/crud/_form.html.twig', [ 'form'=>$form->createView(), 'el'=>$user, 'button_label'=>'Créer', 'route'=>'admin_app_user', 'title'=>'Ajouter un élément', 'breadcrumb'=>[ [ 'route'=>'admin_app_user_index', 'text'=>'tous les éléments' ], [ 'text'=>'ajouter un élément' ] ], ]); } /** * @Route("/edit/{id}", name="edit") * @param Request $request * @param User $user * @param Tools $tools * @return Response */ public function edit(Request $request, User $user, Tools $tools): Response { $form = $this->createForm(UserType::class, $user); if ($userHandler->edit($form, $request)) { return $this->redirectToRoute('admin_app_user_edit', ['id'=>$user->getId()]); } return $this->render('admin/crud/_form.html.twig', [ 'el' => $user, 'route'=> 'admin_app_user', 'form' => $form->createView(), 'button_label' => 'Mettre à jour', 'title' => 'Edition', 'breadcrumb'=>[ [ 'route'=>'admin_app_user_index', 'text'=>'users' ], [ 'text'=>'édition ' ] ], ]); } /** * @Route("/{id}", name="delete", methods={"DELETE"}) * @param Request $request * @return Response */ public function delete(Request $request,User $user): Response { if ($this->isCsrfTokenValid('delete'.$user->getId(), $request->request->get('_token'))) { $this->entityManager->remove($user); $this->entityManager->flush(); } return $this->redirectToRoute('admin_app_user_index'); } }