src/Noahtech/Sistemas/FuszionBundle/Controller/PublicUserController.php line 157

Open in your IDE?
  1. <?php
  2. namespace Noahtech\Sistemas\FuszionBundle\Controller;
  3. use Noahtech\Sistemas\FuszionBundle\Handler\McUsuarioHandler;
  4. use Noahtech\Sistemas\FuszionBundle\Handler\McMedicoHandler;
  5. use Noahtech\Sistemas\FuszionBundle\Handler\McCursoHandler;
  6. use Noahtech\Sistemas\FuszionBundle\Handler\McPrecioHandler;
  7. use Noahtech\Sistemas\FuszionBundle\Utils\Codes;
  8. use Exception;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class PublicUserController extends BaseController {
  13.     /**
  14.      * @Route("user/public/generar_clave/{token}", name="public_nueva_clave")
  15.      * @return type
  16.      */
  17.     public function generarClaveAction($token) {
  18.         $this->setTitle("Generación de contraseña");
  19.         $band true;
  20.         $user $this->get(McUsuarioHandler::class)->getDataPublicUser($token$band);
  21.         $this->data["data"] = $user;
  22.         $this->response->setData($this->data);
  23.         return $this->render(
  24.                         '@NoahtechSistemasFuszion/public/usuarios/generar_clave.html.twig'$this->data
  25.         );
  26.     }
  27.     
  28.     /**
  29.      * @Route("user/public/recuperar_clave", name="public_recuperar_clave")
  30.      * @return type
  31.      */
  32.     public function recuperarClaveAction() {
  33.         $this->setTitle("Recuperar contraseña");
  34.         $this->data["data"] = null;
  35.         return $this->render(
  36.                         '@NoahtechSistemasFuszion/public/usuarios/recuperar_clave.html.twig'$this->data
  37.         );
  38.     }
  39.     
  40.      /**
  41.      * @Route("user/public/recuperar_clave_update/{token}", name="public_recuperar_clave_update")
  42.      * @return type
  43.      */
  44.     public function recuperarClaveUpdateAction($token) {
  45.         $this->setTitle("Recuperación de contraseña");
  46.         $band false;
  47.         $user $this->get(McUsuarioHandler::class)->getDataPublicUser($token$band);
  48.         $this->data["data"] = $user;
  49.         $this->response->setData($this->data);
  50.         return $this->render(
  51.                         '@NoahtechSistemasFuszion/public/usuarios/generar_clave.html.twig'$this->data
  52.         );
  53.     }
  54.     
  55.     /**
  56.      * Modifica el password de un usuario 
  57.      *
  58.      * @Route("user/public/ajax/usuarios/clave", name="public_ajax_usuario_clave_update", methods={"PUT"}, condition="request.isXmlHttpRequest()")
  59.      */
  60.     public function putClaveUpdateAction(Request $request) {
  61.         $data $request->request->all();
  62.         //En este caso no hay usuario logueado, porque esta acción se realiza sin ingreso al sistema.
  63.         try {
  64.             $currentPersona $this->get(McUsuarioHandler::class)->getById($data["id"]);            
  65.             $currentUser $this->get(McUsuarioHandler::class)->getUsuarioByPersona($currentPersona["persona"]["id"]);            
  66.             $result $this->container->get(McUsuarioHandler::class)->updateClave($data$currentUser);
  67.             $this->response->setData($result);
  68.             $this->response->setCode(Codes::OK);
  69.         } catch (Exception $e) {
  70.             $this->response->setCode($e->getCode());
  71.             $this->response->setMessage($e->getMessage());
  72.         }
  73.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  74.         return new Response($serializedEntity);
  75.     }    
  76.     /**
  77.      * @Route("user/public/ajax/usuario/recuperar_clave_email", name="public_ajax_usuario_recuperar_clave_email", methods={"POST"}, condition="request.isXmlHttpRequest()")     
  78.      */
  79.     public function recuperarClaveEmailAction(Request $request) {
  80.         $email $request->request->get('email');        
  81.         try {
  82.             $result $this->container->get(McUsuarioHandler::class)->recuperarClaveEmail($request$email);
  83.             $this->response->setData($result);
  84.             $this->response->setCode(Codes::OK);
  85.         } catch (Exception $e) {
  86.             $this->response->setCode($e->getStatusCode());
  87.             $this->response->setMessage($e->getMessage());
  88.         }
  89.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  90.         return new Response($serializedEntity);
  91.                
  92.     }
  93.     /**
  94.      * @Route("/", name="public_inicio")
  95.      * @return type
  96.      */
  97.     public function inicioAction() {
  98.         $this->setTitle("Consejo Medico Jujuy | Home");
  99.         $this->data['title'] = "Consejo Medico Jujuy | Home";
  100.         $offset 0;
  101.         $limit 15;
  102.         $sortField 'id';
  103.         $sortDirection 'DESC';
  104.         $searchParam 1;
  105.         $precios $this->get(McPrecioHandler::class)->getPrecios();
  106.         $cursos $this->get(McCursoHandler::class)->buscarCursosWeb($offset$limit$sortField$sortDirection$searchParam);
  107.         $this->data['precio'] = $precios
  108.         $this->data['data'] = $cursos;
  109.         return $this->render('@NoahtechSistemasFuszion/public/home/inicio.html.twig'$this->data);
  110.     }
  111.     /**
  112.      * @Route("/medicos", name="public_medicos_listado")
  113.      * @return type
  114.      */
  115.     public function medicosListadoAction() {        
  116.         $this->setTitle("Listado de Médicos | Consejo Médicos de Jujuy");
  117.         $this->data['data'] = null;
  118.         return $this->render(
  119.                         '@NoahtechSistemasFuszion/public/home/medicos/listado.html.twig'$this->data
  120.         );
  121.     }
  122.     /**
  123.      * consulta de productos
  124.      *
  125.      * @Route("/public/ajax/medicos/search", name="public_jax_medicos_listado", methods={"POST"}, condition="request.isXmlHttpRequest()")
  126.      */
  127.     public function searchAction(Request $request) {        
  128.         $searchParam $request->request->all();
  129.         $currentPage $request->query->get('page');
  130.         $sortField $request->query->get('sort');
  131.         $sortDirection $request->query->get('direction');
  132.         $currentPage null == $currentPage $currentPage;
  133.         $this->setTamanioPagina(20);
  134.         $offset = ($currentPage 1) * $this->getTamanioPagina();
  135.         $limit $this->getTamanioPagina();
  136.         try {
  137.             /** @var McMedicoHandler $handler */
  138.             $handler $this->get(McMedicoHandler::class);
  139.             $lp $handler->search($offset$limit$sortField$sortDirection$searchParam);
  140.             $lp->setCurrentPage($currentPage);
  141.             $lp->setPageSize($this->getTamanioPagina());
  142.             $this->response->setData($lp);
  143.             $this->response->setCode(Codes::OK);
  144.         } catch (Exception $e) {
  145.             $this->response->setCode(Codes::ERROR);
  146.             $this->response->setMessage($e->getMessage());
  147.         }
  148.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  149.         return new Response($serializedEntity);
  150.     }
  151.     /**
  152.      * @Route("/public/registrar", name="public_registrar_alumno")
  153.      * @return type
  154.      */
  155.     public function registrarAction(Request $request) {        
  156.         $this->setTitle("Registro de Alumno | Consejo Médico");               
  157.         $this->data['data'] = null;
  158.         $baseUrl strstr($request->headers->get('referer'), 'public'true);
  159.         if ($baseUrl) {
  160.             $this->data['baseUrl'] = $baseUrl;
  161.         } else {
  162.             $this->data['baseUrl'] = $request->headers->get('referer');
  163.         }
  164.         return $this->render(
  165.                         '@NoahtechSistemasFuszion/public/usuarios/registro.html.twig'$this->data
  166.         );
  167.     }
  168.     /**
  169.      * Guarda un usuario y una persona, si la misma no existe en la BD 
  170.      *
  171.      * @Route("/public/ajax/usuarios", name="public_usuario_save", methods={"POST"}, condition="request.isXmlHttpRequest()")
  172.      */
  173.     public function postSaveAction(Request $request) {
  174.         $data $request->request->all();       
  175.         try {
  176.             $result $this->container->get(McUsuarioHandler::class)->save($datanull,$request);
  177.             $this->response->setData($result);
  178.             $this->response->setCode(Codes::OK);
  179.         } catch (Exception $e) {
  180.             $this->response->setCode($e->getCode());
  181.             $this->response->setMessage($e->getMessage());
  182.         }
  183.         $serializedEntity $this->container->get('serializer')->serialize($this->response'json');
  184.         return new Response($serializedEntity);
  185.     }
  186. }