* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace UBV\AutenticacionBundle\Controller; use FOS\UserBundle\Form\Factory\FactoryInterface; use FOS\UserBundle\FOSUserEvents; use FOS\UserBundle\Event\FormEvent; use FOS\UserBundle\Event\FilterUserResponseEvent; use FOS\UserBundle\Event\GetResponseUserEvent; use FOS\UserBundle\Model\UserInterface; use FOS\UserBundle\Model\UserManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Security\Core\Exception\AccessDeniedException; /** * Controller managing the user profile * * @author Christophe Coevoet */ class ProfileController extends Controller { /** * Show the user */ public function showAction() { $em = $this->getDoctrine()->getManager(); $user = $this->getUser(); $persona = $em->getRepository("UBVSurUbvBundle:Persona")->findArregloPersonaById($user->getId()); //die(dump($persona)); if (!is_object($user) || !$user instanceof UserInterface) { throw new AccessDeniedException('This user does not have access to this section.'); } //$nacionalidad = $user->getPersonaNacionalidads(); //die(var_dump($nacionalidad)); return $this->render('FOSUserBundle:Profile:show.html.twig', array( 'user' => $persona )); } /** * Edit the user * * @param Request $request * * @return Response */ public function editAction(Request $request) { $user = $this->getUser(); if (!is_object($user) || !$user instanceof UserInterface) { throw new AccessDeniedException('This user does not have access to this section.'); } /** @var $dispatcher EventDispatcherInterface */ $dispatcher = $this->get('event_dispatcher'); $event = new GetResponseUserEvent($user, $request); $dispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_INITIALIZE, $event); if (null !== $event->getResponse()) { return $event->getResponse(); } /** @var $formFactory FactoryInterface */ $formFactory = $this->get('fos_user.profile.form.factory'); $form = $formFactory->createForm(); $form->setData($user); $form->handleRequest($request); if ($form->isValid()) { /** @var $userManager UserManagerInterface */ $userManager = $this->get('fos_user.user_manager'); $event = new FormEvent($form, $request); $dispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_SUCCESS, $event); $userManager->updateUser($user); if (null === $response = $event->getResponse()) { $url = $this->generateUrl('fos_user_profile_show'); $response = new RedirectResponse($url); } $dispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_COMPLETED, new FilterUserResponseEvent($user, $request, $response)); return $response; } return $this->render('FOSUserBundle:Profile:edit.html.twig', array( 'form' => $form->createView() )); } public function mostrarUsuarioAction($id) { //die(dump($id)); //$user = $this->getUser(); $em = $this->getDoctrine()->getManager(); //$aspirante = $em->getRepository('UBVSurUbvBundle:Aspirante')->findOneById($id); //$nombreusuario = $aspirante->getPersona()->getUsername(); //die(dump($nombreusuario)); //$user = $this->get('fos_user.user_manager')->findUserById($id); $persona = $em->getRepository("UBVSurUbvBundle:Persona")->findArregloPersonaById($id); // if (!is_object($user) || !$user instanceof UserInterface) { // throw new AccessDeniedException('This user does not have access to this section.'); // } return $this->render('FOSUserBundle:Profile:show.html.twig', array( 'user' => $persona )); } }