/** * @Route("/cambiar/{usuario}", name="cambiarRol") * @Security("is_granted('ROLE_ADMIN')") */ public function cambiarAction(Request $peticion, Usuario $usuario) { if (isset($_POST['cambiar'])) { // Obtener el EntityManager $em = $this->getDoctrine()->getManager(); if ($_POST['rol'] == 'admin') { $usuario->setEsAdmin(true); $usuario->setEsCamarero(false); $usuario->setEsCliente(false); } if ($_POST['rol'] == 'servicio') { $usuario->setEsAdmin(false); $usuario->setEsCamarero(true); $usuario->setEsCliente(false); } if ($_POST['rol'] == 'cliente') { $usuario->setEsAdmin(false); $usuario->setEsCamarero(false); $usuario->setEsCliente(true); } // Asegurarse de que se tiene en cuenta el nuevo usuario $em->persist($usuario); // Guardar los cambios $em->flush(); } // Redirigir al usuario a la lista return new RedirectResponse($this->generateUrl('usuarios_listar')); }