src/Controller/UsuariosController.php line 48

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Clientes;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\RequestStack;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Mailer\MailerInterface;
  12. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  15. class UsuariosController extends AbstractController
  16. {
  17.     use UsuariosProcesosTrait;
  18.     const _nuevo 1;
  19.     const _editar 0;
  20.     #[Route('/usuarios'name'app_usuarios')]
  21.     public function index(): Response
  22.     {
  23.         return $this->render('usuarios/index.html.twig', [
  24.             'controller_name' => 'UsuariosController',
  25.         ]);
  26.     }
  27.     ///
  28.     #[Route('/login'name'app_login')]
  29.     public function login(AuthenticationUtils $authenticationUtilsManagerRegistry $registry): Response
  30.     {
  31.         $request Request::createFromGlobals();
  32.         $sesion $this->get('session');
  33.         $usuario $this->getUser();
  34.         $clienteStatus Clientes::_claStatusActivo;
  35.         $paraProceso = [];
  36.         $paraProceso['registry'] = $registry;
  37.         $error $authenticationUtils->getLastAuthenticationError();
  38.         $lastUsername $authenticationUtils->getLastUsername();
  39.         $paraProceso['lastUsername'] = $lastUsername;
  40.         $data $this->procLogin($paraProceso);
  41.         $rotulos $data['rotulos'];
  42.         $valores $data['valores'];
  43.         $generales $data['generales'];
  44.         $cerrar $data['cerrar'];
  45.         $errorCredenciales $data['errorCredenciales'];
  46.         $errorProc $data['error'];
  47.         //*si no hay error en usuario / contra checar en errorProc
  48.         $error $error $error $errorProc;
  49.         //*si viene con nomUsuario
  50.         $nomUsuario $request->query->get('nomUsuario'''); //para get
  51.         if(strlen($valores['nomUsuario']) == && strlen($nomUsuario) > 0){
  52.             $valores['nomUsuario'] = $nomUsuario;
  53.         }
  54.         $plantilla 'usuarios/login.twig';
  55.         if($clienteStatus != Clientes::_claStatusActivo){
  56.             $plantilla 'usuarios/loginCuentaSuspendida.twig';
  57.         }
  58.         return $this->render($plantilla, [
  59.             'rotulos' => json_encode($rotulos),
  60.             "valores" => json_encode($valores),
  61.             "generales" => json_encode($generales),
  62.             'lastUsername' => $lastUsername,
  63.             'errorCredenciales' => $errorCredenciales,
  64.             'error' => $error,
  65.             'cerrar' => $cerrar,
  66.         ]);
  67.     }
  68.     ///
  69.     #[Route(path'/logout'name'app_logout')]
  70.     public function logout(): void
  71.     {
  72.         //$this->redirectToRoute('soporte_login');
  73.     }
  74.     ///
  75.     #[Route(name'usuarios_menuFavoritos'), IsGranted("IS_AUTHENTICATED_FULLY")]
  76.     public function usuariosmenuFavoritos(): Response
  77.     {
  78.         $sesion $this->get('session');
  79.         $usuario $this->getUser();
  80.         $claUsuario $usuario->getClausuario();
  81.         $cliente $sesion->get('claCliente');
  82.         ///
  83.         $paraProceso = [];
  84.         $paraProceso['claUsuario'] = $claUsuario;
  85.         $paraProceso['cliente'] = $cliente;
  86.         $data $this->procUsuariosmenuFavoritos($paraProceso);
  87.         $favoritos $data['favoritos'];
  88.         ///
  89.         return $this->render('usuarios/usuariosMenuFavoritos.twig', [
  90.             'favoritos' => json_encode($favoritos),
  91.         ]);
  92.     }
  93.     ///
  94.     #[Route('/usuarios/menuFavoritosAgregar'name'usuarios_menuFavoritos_agregar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  95.     public function menuFavoritosAgregar(ManagerRegistry $registry): Response
  96.     {
  97.         $sesion $this->get('session');
  98.         $usuario $this->getUser();
  99.         $claUsuario $usuario->getClausuario();
  100.         $cliente $sesion->get('claCliente');
  101.         $request Request::createFromGlobals();
  102.         $claFuncion $request->request->get('claFuncion'''); //para post
  103.         ///
  104.         $paraProceso = [];
  105.         $paraProceso['claUsuario'] = $claUsuario;
  106.         $paraProceso['cliente'] = $cliente;
  107.         $paraProceso['claFuncion'] = $claFuncion;
  108.         $paraProceso['registry'] = $registry;
  109.         $data $this->procUsuariosmenuFavoritosAgregar($paraProceso);
  110.         $resultado $data['resultado'];
  111.         $mensaje $data['mensaje'];
  112.         $dataGrid $data['dataGrid'];
  113.         ///
  114.         return new JsonResponse([
  115.             'resultado' =>  $resultado,
  116.             'mensaje' =>  $mensaje,
  117.             'dataGrid' =>  $dataGrid,
  118.         ]);
  119.     }
  120.     ///
  121.     #[Route('/usuarios/menuFavoritosQuitar'name'usuarios_menuFavoritos_quitar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  122.     public function menuFavoritosQuitar(ManagerRegistry $registry): Response
  123.     {
  124.         $sesion $this->get('session');
  125.         $usuario $this->getUser();
  126.         $claUsuario $usuario->getClausuario();
  127.         $cliente $sesion->get('claCliente');
  128.         $request Request::createFromGlobals();
  129.         $claFuncion $request->request->get('claFuncion'''); //para post
  130.         ///
  131.         $paraProceso = [];
  132.         $paraProceso['claUsuario'] = $claUsuario;
  133.         $paraProceso['cliente'] = $cliente;
  134.         $paraProceso['claFuncion'] = $claFuncion;
  135.         $paraProceso['registry'] = $registry;
  136.         $data $this->procUsuariosmenuFavoritosQuitar($paraProceso);
  137.         $resultado $data['resultado'];
  138.         $mensaje $data['mensaje'];
  139.         ///
  140.         return new JsonResponse([
  141.             'resultado' =>  $resultado,
  142.             'mensaje' =>  $mensaje,
  143.         ]);
  144.     }
  145.     ///
  146.     #[Routename'usuarios_menuUsuario')]
  147.     public function usuariosMenuUsuario(ManagerRegistry $registry): Response
  148.     {
  149.         $sesion $this->get('session');
  150.         $usuario $this->getUser();
  151.         $cliente $sesion->get('claCliente');
  152.         $claUbicacion $sesion->get('claUbicacion');
  153.         $clienteIdTipo $sesion->get('clienteIdTipo');
  154.         $claUsuario $usuario->getClausuario();
  155.         $nomUsuario $usuario->getNomusuario();
  156.         ///
  157.         $paraProceso = [];
  158.         $paraProceso['claUsuario'] = $claUsuario;
  159.         $paraProceso['cliente'] = $cliente;
  160.         $paraProceso['nomUsuario'] = $nomUsuario;
  161.         $paraProceso['claUbicacion'] = $claUbicacion;
  162.         $paraProceso['clienteIdTipo'] = $clienteIdTipo;
  163.         $paraProceso['sesion'] = $sesion;
  164.         $paraProceso['registry'] = $registry;
  165.         $data $this->procUsuariosMenuUsuario($paraProceso);
  166.         $rotulos $data['rotulos'];
  167.         $valores $data['valores'];
  168.         $generales $data['generales'];
  169.         ///
  170.         return $this->render('usuarios/usuariosMenuUsuario.twig', [
  171.             'rotulos' => json_encode($rotulos),
  172.             "valores" => json_encode($valores),
  173.             "generales" => json_encode($generales),
  174.         ]);
  175.     }
  176.     ///
  177.     #[Route('/usuarios/menuPrincipal'name'usuarios_menuPrincipal'), IsGranted("IS_AUTHENTICATED_FULLY")]
  178.     public function usuariosmenuPrincipal(): Response
  179.     {
  180.         $sesion $this->get('session');
  181.         $cliente $sesion->get('claCliente');
  182.         $tipoUsuario $sesion->get('tipoUsuario');
  183.         $usuarioFunciones $sesion->get('funciones');
  184.         ///
  185.         $paraProceso = [];
  186.         $paraProceso['usuarioFunciones'] = $usuarioFunciones;
  187.         $paraProceso['cliente'] = $cliente;
  188.         $paraProceso['tipoUsuario'] = $tipoUsuario;
  189.         $procesoData $this->procUsuariosmenuPrincipal($paraProceso);
  190.         $rotulos $procesoData['rotulos'];
  191.         $modulos $procesoData['modulos'];
  192.         $subModulos $procesoData['subModulos'];
  193.         /// 
  194.         return $this->render('usuarios/usuariosMenuPrincipal.twig', [
  195.             'rotulos' => json_encode($rotulos),
  196.             "subModulos" => json_encode($subModulos),
  197.             "modulos" => json_encode($modulos),
  198.         ]);
  199.     }
  200.     ///
  201.     #[Route('/usuarios/subMenu'name'usuarios_subMenu'), IsGranted("IS_AUTHENTICATED_FULLY")]
  202.     public function usuariosSubMenu(): Response
  203.     {
  204.         $sesion $this->get('session');
  205.         $cliente $sesion->get('claCliente');
  206.         $usuarioFunciones $sesion->get('funciones');
  207.         $subMenuRama $sesion->get('subMenuRama') ?? 'XXX';
  208.         ///
  209.         $paraProceso = [];
  210.         $paraProceso['claUsuario'] = 'usuario1@mas.com';
  211.         $paraProceso['cliente'] = $cliente;
  212.         $paraProceso['subMenuRama'] = $subMenuRama;
  213.         $paraProceso['usuarioFunciones'] = $usuarioFunciones;
  214.         $data $this->procUsuariosSubMenu($paraProceso);
  215.         $subMenu $data['subMenu'];
  216.         ///
  217.         return $this->render('usuarios/usuariosSubMenu.twig', [
  218.             "subMenu" => json_encode($subMenu),
  219.         ]);
  220.     }
  221.     ///
  222.     #[Route('/usuarios/perfiles'name'usuarios_perfiles'), IsGranted("IS_AUTHENTICATED_FULLY")]
  223.     public function usuariosPerfiles(ManagerRegistry $registryRequestStack $requestStack): Response
  224.     {
  225.         $sesion $this->get('session');
  226.         $cliente $sesion->get('claCliente');
  227.         $usuarioFunciones $sesion->get('funciones');
  228.         if (!array_key_exists("20T01"$usuarioFunciones)) {
  229.             return $this->redirectToRoute('app_sinDerechos');
  230.         }
  231.         $sesion->set('subMenuRama''20');
  232.         ///
  233.         $paraProceso = [];
  234.         $paraProceso['cliente'] = $cliente;
  235.         $paraProceso['usuarioFunciones'] = $usuarioFunciones;
  236.         $paraProceso['registry'] = $registry;
  237.         $paraProceso['requestStack'] = $requestStack;
  238.         $data $this->procUsuariosPerfiles($paraProceso);
  239.         $rotulos $data['rotulos'];
  240.         $valores $data['valores'];
  241.         $funcionesRegistro $data['funcionesRegistro'];
  242.         $html $data['html'];
  243.         ///
  244.         return $this->render('usuarios/perfiles.twig', [
  245.             "rotulos" => json_encode($rotulos),
  246.             "valores" => json_encode($valores),
  247.             "funcionesRegistro" => json_encode($funcionesRegistro),
  248.             "html" => $html,
  249.             "usuarioFunciones" => $usuarioFunciones,
  250.         ]);
  251.     }
  252.     ///
  253.     #[Route('/usuarios/perfilesEditar'name'usuarios_perfiles_editar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  254.     public function perfilesEditar(ManagerRegistry $registry): Response
  255.     {
  256.         $request Request::createFromGlobals();
  257.         $sesion $this->get('session');
  258.         $cliente $sesion->get('claCliente');
  259.         $usuarioFunciones $sesion->get('funciones');
  260.         $claPerfil $request->query->get('claPerfil'0); //para get
  261.         ///
  262.         $paraProceso = [];
  263.         $paraProceso['claPerfil'] = $claPerfil;
  264.         $paraProceso['cliente'] = $cliente;
  265.         $paraProceso['registry'] = $registry;
  266.         $data $this->procUsuariosPerfilesEditar($paraProceso);
  267.         $rotulos $data['rotulos'];
  268.         $valores $data['valores'];
  269.         $generales $data['generales'];
  270.         $html $data['html'];
  271.         ///
  272.         return $this->render('usuarios/perfilesEditar.twig', [
  273.             "rotulos" => json_encode($rotulos),
  274.             "valores" => json_encode($valores),
  275.             "generales" => json_encode($generales),
  276.             "html" => $html,
  277.             "usuarioFunciones" => $usuarioFunciones,
  278.         ]);
  279.     }
  280.     ///
  281.     #[Route('/usuarios/perfilesEnviar'name'usuarios_perfiles_enviar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  282.     public function perfilesEnviar(ManagerRegistry $registry): Response
  283.     {
  284.         $request Request::createFromGlobals();
  285.         $sesion $this->get('session');
  286.         $cliente $sesion->get('claCliente');
  287.         $data $request->request->all();
  288.         $nuevo $request->request->get('nuevo'0); //para post
  289.         $claPerfil $request->request->get('claPerfil'0); //para post
  290.         ///
  291.         $paraProceso = [];
  292.         $paraProceso['nuevo'] = $nuevo;
  293.         $paraProceso['data'] = $data;
  294.         $paraProceso['cliente'] = $cliente;
  295.         $paraProceso['claPerfil'] = $claPerfil;
  296.         $paraProceso['registry'] = $registry;
  297.         $data $this->procUsuariosPerfilesEnviar($paraProceso);
  298.         $resultado $data['resultado'];
  299.         $mensaje $data['mensaje'];
  300.         $dataGrid $data['dataGrid'];
  301.         ///
  302.         return new JsonResponse(
  303.             [
  304.                 'resultado' => $resultado,
  305.                 'mensaje' => $mensaje,
  306.                 'dataGrid' => $dataGrid,
  307.             ]
  308.         );
  309.     }
  310.     ///
  311.     #[Route('/usuarios/perfilesOpciones'name'usuarios_perfiles_opciones'), IsGranted("IS_AUTHENTICATED_FULLY")]
  312.     public function perfilesOpciones(ManagerRegistry $registry): Response
  313.     {
  314.         $request Request::createFromGlobals();
  315.         $sesion $this->get('session');
  316.         $cliente $sesion->get('claCliente');
  317.         $usuarioFunciones $sesion->get('funciones');
  318.         $claPerfil $request->query->get('claPerfil'0); //para get
  319.         ///
  320.         $paraProceso = [];
  321.         $paraProceso['claPerfil'] = $claPerfil;
  322.         $paraProceso['cliente'] = $cliente;
  323.         $paraProceso['registry'] = $registry;
  324.         $data $this->procUsuariosPerfilesOpciones($paraProceso);
  325.         $rotulos $data['rotulos'];
  326.         $generales $data['generales'];
  327.         $funciones $data['funciones'];
  328.         $html $data['html'];
  329.         ///
  330.         return $this->render('usuarios/perfilesOpciones.twig', [
  331.             "rotulos" => json_encode($rotulos),
  332.             "generales" => json_encode($generales),
  333.             "funciones" => json_encode($funciones),
  334.             "html" => $html,
  335.             "usuarioFunciones" => $usuarioFunciones,
  336.         ]);
  337.     }
  338.     ///
  339.     #[Route('/usuarios/perfilesOpcionesEnviar'name'usuarios_perfiles_opciones_enviar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  340.     public function perfilesOpcionesEnviar(ManagerRegistry $registry): Response
  341.     {
  342.         $request Request::createFromGlobals();
  343.         $sesion $this->get('session');
  344.         $cliente $sesion->get('claCliente');
  345.         $funciones $request->request->get('funciones'''); //para post
  346.         $claPerfil $request->request->get('claPerfil'0); //para post
  347.         $seleccionada $request->request->get('seleccionada'true); //para post
  348.         ///
  349.         $paraProceso = [];
  350.         $paraProceso['registry'] = $registry;
  351.         $paraProceso['seleccionada'] = $seleccionada;
  352.         $paraProceso['funciones'] = $funciones;
  353.         $paraProceso['claPerfil'] = $claPerfil;
  354.         $paraProceso['cliente'] = $cliente;
  355.         $data $this->procUsuariosPerfilesOpcionesEnviar($paraProceso);
  356.         $resultado $data['resultado'];
  357.         $mensaje $data['mensaje'];
  358.         ///
  359.         return new JsonResponse(
  360.             [
  361.                 'resultado' => $resultado,
  362.                 'mensaje' => $mensaje,
  363.             ]
  364.         );
  365.     }
  366.     ///
  367.     #[Route('/usuarios/perfilesEliminar'name'usuarios_perfiles_eliminar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  368.     public function perfilesEliminar(ManagerRegistry $registry): Response
  369.     {
  370.         $request Request::createFromGlobals();
  371.         $sesion $this->get('session');
  372.         $cliente $sesion->get('claCliente');
  373.         $claPerfil $request->request->get('claPerfil'0); //para post
  374.         ///
  375.         $paraProceso = [];
  376.         $paraProceso['cliente'] = $cliente;
  377.         $paraProceso['claPerfil'] = $claPerfil;
  378.         $paraProceso['registry'] = $registry;
  379.         $data $this->procUsuariosPerfilesEliminar($paraProceso);
  380.         $resultado $data['resultado'];
  381.         $mensaje $data['mensaje'];
  382.         return new JsonResponse(
  383.             [
  384.                 'resultado' => $resultado,
  385.                 'mensaje' => $mensaje,
  386.             ]
  387.         );
  388.     }
  389.     ///
  390.     #[Route('/usuarios/usuarios'name'usuarios_usuarios'), IsGranted("IS_AUTHENTICATED_FULLY")]
  391.     public function usuariosUsuarios(ManagerRegistry $registryRequestStack $requestStack): Response
  392.     {
  393.         $request Request::createFromGlobals();
  394.         $sesion $this->get('session');
  395.         $cliente $sesion->get('claCliente');
  396.         $usuarioFunciones $sesion->get('funciones');
  397.         if (!array_key_exists("20T02"$usuarioFunciones)) {
  398.             return $this->redirectToRoute('app_sinDerechos');
  399.         }
  400.         $sesion->set('subMenuRama''20');
  401.         ///
  402.         $paraProceso = [];
  403.         $paraProceso['cliente'] = $cliente;
  404.         $paraProceso['registry'] = $registry;
  405.         $paraProceso['requestStack'] = $requestStack;
  406.         $procesoData $this->procUsuariosUsuarios($paraProceso);
  407.         $rotulos $procesoData['rotulos'];
  408.         $valores $procesoData['valores'];
  409.         $generales $procesoData['generales'];
  410.         $html $procesoData['html'];
  411.         ///
  412.         return $this->render('usuarios/usuarios.twig', [
  413.             "rotulos" => json_encode($rotulos),
  414.             "valores" => json_encode($valores),
  415.             "generales" => json_encode($generales),
  416.             "html" => $html,
  417.             "usuarioFunciones" => $usuarioFunciones,
  418.         ]);
  419.     }
  420.     ///
  421.     #[Route('/usuarios/usuariosEditar'name'usuarios_usuarios_editar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  422.     public function usuariosEditar(ManagerRegistry $registryRequestStack $requestStack): Response
  423.     {
  424.         $request Request::createFromGlobals();
  425.         $sesion $this->get('session');
  426.         $cliente $sesion->get('claCliente');
  427.         $usuarioFunciones $sesion->get('funciones');
  428.         $claUsuario $request->query->get('claUsuario'''); //para get
  429.         ///
  430.         $paraProceso = [];
  431.         $paraProceso['claUsuario'] = $claUsuario;
  432.         $paraProceso['cliente'] = $cliente;
  433.         $paraProceso['sesion'] = $sesion;
  434.         $paraProceso['registry'] = $registry;
  435.         $paraProceso['requestStack'] = $requestStack;
  436.         $procesoData $this->procUsuariosEditar($paraProceso);
  437.         $rotulos $procesoData['rotulos'];
  438.         $valores $procesoData['valores'];
  439.         $generales $procesoData['generales'];
  440.         $html $procesoData['html'];
  441.         $catalogos $procesoData['catalogos'];
  442.         ///
  443.         return $this->render('usuarios/usuariosEditar.twig', [
  444.             "rotulos" => json_encode($rotulos),
  445.             "valores" => json_encode($valores),
  446.             "generales" => json_encode($generales),
  447.             'catalogos' => json_encode($catalogos),
  448.             "html" => $html,
  449.             "usuarioFunciones" => $usuarioFunciones,
  450.         ]);
  451.     }
  452.     ///
  453.     #[Route('/usuarios/usuariosEnviar'name'usuarios_enviar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  454.     public function usuariosEnviar(UserPasswordHasherInterface $hasherManagerRegistry $registryRequestStack $requestStack): Response
  455.     {
  456.         $request Request::createFromGlobals();
  457.         $sesion $this->get('session');
  458.         $cliente $sesion->get('claCliente');
  459.         $datosRequest $request->request->all();
  460.         $nuevo $request->request->get('nuevo'0); //para post
  461.         $claUsuario $request->request->get('claUsuario'''); //para post
  462.         $contra $request->request->get('contra'''); //para post
  463.         ///
  464.         $paraProceso = [];
  465.         $paraProceso['hasher'] = $hasher;
  466.         $paraProceso['cliente'] = $cliente;
  467.         $paraProceso['datosRequest'] = $datosRequest;
  468.         $paraProceso['claUsuario'] = $claUsuario;
  469.         $paraProceso['contra'] = $contra;
  470.         $paraProceso['nuevo'] = $nuevo;
  471.         $paraProceso['sesion'] = $sesion;
  472.         $paraProceso['registry'] = $registry;
  473.         $paraProceso['requestStack'] = $requestStack;
  474.         $procesoData $this->procUsuariosEnviar($paraProceso);
  475.         $resultado $procesoData['resultado'];
  476.         $mensaje $procesoData['mensaje'];
  477.         $dataGrid $procesoData['dataGrid'];
  478.         ///
  479.         return new JsonResponse(
  480.             [
  481.                 'resultado' => $resultado,
  482.                 'mensaje' => $mensaje,
  483.                 'dataGrid' => $dataGrid,
  484.             ]
  485.         );
  486.     }
  487.     ///
  488.     #[Route('/usuarios/multiUbicaciones'name'usuarios_multi_ubicaciones'), IsGranted("IS_AUTHENTICATED_FULLY")]
  489.     public function usuariosMultiUbicaciones(ManagerRegistry $registry): Response
  490.     {
  491.         $request Request::createFromGlobals();
  492.         $claUsuario $request->query->get('claUsuario'''); //para get
  493.         $sesion $this->get('session');
  494.         $cliente $sesion->get('claCliente');
  495.         $usuarioFunciones $sesion->get('funciones');
  496.         ///
  497.         $paraProceso = [];
  498.         $paraProceso['claUsuario'] = $claUsuario;
  499.         $paraProceso['cliente'] = $cliente;
  500.         $paraProceso['registry'] = $registry;
  501.         $procesoData $this->procUsuariosMultiUbicaciones($paraProceso);
  502.         $rotulos $procesoData['rotulos'];
  503.         $valores $procesoData['valores'];
  504.         $generales $procesoData['generales'];
  505.         $catalogos $procesoData['catalogos'];
  506.         ///
  507.         return $this->render('usuarios/multiUbicaciones.twig', [
  508.             "rotulos" => json_encode($rotulos),
  509.             "valores" => json_encode($valores),
  510.             "catalogos" => json_encode($catalogos),
  511.             "generales" => json_encode($generales),
  512.             "usuarioFunciones" => $usuarioFunciones,
  513.         ]);
  514.     }
  515.     ///
  516.     #[Route('/usuarios/multiUbicacionesEnviar'name'usuarios_multiUbicacionesEnviar_enviar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  517.     public function multiUbicacionesEnviar(ManagerRegistry $registry): Response
  518.     {
  519.         $request Request::createFromGlobals();
  520.         $sesion $this->get('session');
  521.         $cliente $sesion->get('claCliente');
  522.         $datosRequest $request->request->all();
  523.         $claUsuario $request->request->get('claUsuario'''); //para post
  524.         $claUbicacion $request->request->get('claUbicacion''0|0'); //para post
  525.         $claUbicacion explode('|'$claUbicacion)[1];
  526.         ///
  527.         $paraProceso = [];
  528.         $paraProceso['cliente'] = $cliente;
  529.         $paraProceso['datosRequest'] = $datosRequest;
  530.         $paraProceso['claUsuario'] = $claUsuario;
  531.         $paraProceso['claUbicacion'] = $claUbicacion;
  532.         $paraProceso['nuevo'] = 1;
  533.         $paraProceso['registry'] = $registry;
  534.         $procesoData $this->procMultiUbicacionesEnviar($paraProceso);
  535.         $resultado $procesoData['resultado'];
  536.         $mensaje $procesoData['mensaje'];
  537.         $dataGrid $procesoData['dataGrid'];
  538.         ///
  539.         return new JsonResponse(
  540.             [
  541.                 'resultado' => $resultado,
  542.                 'mensaje' => $mensaje,
  543.                 'dataGrid' => $dataGrid,
  544.             ]
  545.         );
  546.     }
  547.     ///
  548.     #[Route('/usuarios/multiUbicacionesEliminar'name'usuarios_multiUbicaciones_eliminar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  549.     public function multiUbicacionesEliminar(ManagerRegistry $registry): Response
  550.     {
  551.         $request Request::createFromGlobals();
  552.         $sesion $this->get('session');
  553.         $cliente $sesion->get('claCliente');
  554.         $datosRequest $request->request->all();
  555.         $claUsuario $request->request->get('claUsuario'''); //para post
  556.         $claUsuarioUbicacion $request->request->get('claUsuarioUbicacion'0); //para post
  557.         ///
  558.         $paraProceso = [];
  559.         $paraProceso['claUsuarioUbicacion'] = $claUsuarioUbicacion;
  560.         $paraProceso['registry'] = $registry;
  561.         $procesoData $this->procMultiUbicacionesEliminar($paraProceso);
  562.         $resultado $procesoData['resultado'];
  563.         $mensaje $procesoData['mensaje'];
  564.         ///
  565.         return new JsonResponse(
  566.             [
  567.                 'resultado' => $resultado,
  568.                 'mensaje' => $mensaje,
  569.             ]
  570.         );
  571.     }
  572.     ///
  573.     #[Route('/usuarios/usuariosDesactivar'name'usuarios_desactivar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  574.     public function usuariosDesactivar(ManagerRegistry $registryRequestStack $requestStack): Response
  575.     {
  576.         $request Request::createFromGlobals();
  577.         $sesion $this->get('session');
  578.         $cliente $sesion->get('claCliente');
  579.         $datosRequest $request->request->all();
  580.         $claUsuario $request->request->get('claUsuario'''); //para post
  581.         ///
  582.         $paraProceso = [];
  583.         $paraProceso['cliente'] = $cliente;
  584.         $paraProceso['datosRequest'] = $datosRequest;
  585.         $paraProceso['claUsuario'] = $claUsuario;
  586.         $paraProceso['registry'] = $registry;
  587.         $paraProceso['requestStack'] = $requestStack;
  588.         $procesoData $this->procUsuariosDesactivar($paraProceso);
  589.         $resultado $procesoData['resultado'];
  590.         $mensaje $procesoData['mensaje'];
  591.         $dataGrid $procesoData['dataGrid'];
  592.         ///
  593.         return new JsonResponse(
  594.             [
  595.                 'resultado' => $resultado,
  596.                 'mensaje' => $mensaje,
  597.                 'dataGrid' => $dataGrid,
  598.             ]
  599.         );
  600.     }
  601.     ///
  602.     #[Route('/usuarios/usuariosActivar'name'usuarios_activar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  603.     public function usuariosActivar(ManagerRegistry $registryRequestStack $requestStack): Response
  604.     {
  605.         $request Request::createFromGlobals();
  606.         $sesion $this->get('session');
  607.         $cliente $sesion->get('claCliente');
  608.         $datosRequest $request->request->all();
  609.         $claUsuario $request->request->get('claUsuario'''); //para post
  610.         ///
  611.         $paraProceso = [];
  612.         $paraProceso['cliente'] = $cliente;
  613.         $paraProceso['datosRequest'] = $datosRequest;
  614.         $paraProceso['claUsuario'] = $claUsuario;
  615.         $paraProceso['registry'] = $registry;
  616.         $paraProceso['requestStack'] = $requestStack;
  617.         $procesoData $this->procUsuariosActivar($paraProceso);
  618.         $resultado $procesoData['resultado'];
  619.         $mensaje $procesoData['mensaje'];
  620.         $dataGrid $procesoData['dataGrid'];
  621.         ///
  622.         return new JsonResponse(
  623.             [
  624.                 'resultado' => $resultado,
  625.                 'mensaje' => $mensaje,
  626.                 'dataGrid' => $dataGrid,
  627.             ]
  628.         );
  629.     }
  630.     ///
  631.     #[Route('/usuarios/usuariosCambiarContra'name'usuarios_cambiarContra'), IsGranted("IS_AUTHENTICATED_FULLY")]
  632.     public function usuariosCambiarContra(ManagerRegistry $registry): Response
  633.     {
  634.         $request Request::createFromGlobals();
  635.         $sesion $this->get('session');
  636.         $cliente $sesion->get('claCliente');
  637.         $datosRequest $request->request->all();
  638.         $claUsuario $request->request->get('claUsuario'''); //para post
  639.         ///
  640.         $paraProceso = [];
  641.         $paraProceso['cliente'] = $cliente;
  642.         $paraProceso['datosRequest'] = $datosRequest;
  643.         $paraProceso['claUsuario'] = $claUsuario;
  644.         $paraProceso['registry'] = $registry;
  645.         $procesoData $this->procUsuariosCambiarContra($paraProceso);
  646.         $rotulos $procesoData['rotulos'];
  647.         $valores $procesoData['valores'];
  648.         $generales $procesoData['generales'];
  649.         ///
  650.         return $this->render('usuarios/cambiarContra.twig', [
  651.             "rotulos" => json_encode($rotulos),
  652.             "valores" => json_encode($valores),
  653.             "generales" => json_encode($generales),
  654.         ]);
  655.     }
  656.     ///
  657.     #[Route('/usuarios/contraCambiar'name'usuarios_contraCambiar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  658.     public function usuariosContraCambiar(ManagerRegistry $registry): Response
  659.     {
  660.         $sesion $this->get('session');
  661.         $cliente $sesion->get('claCliente');
  662.         ///
  663.         $paraProceso = [];
  664.         $paraProceso['cliente'] = $cliente;
  665.         $paraProceso['registry'] = $registry;
  666.         $data $this->procUsuariosContraCambiar($paraProceso);
  667.         $rotulos $data['rotulos'];
  668.         $valores $data['valores'];
  669.         ///
  670.         return $this->render('usuarios/usuariosContraCambiar.twig', [
  671.             'rotulos' => json_encode($rotulos),
  672.             "valores" => json_encode($valores),
  673.         ]);
  674.     }
  675.     ///
  676.     #[Route('/usuarios/contraCambiarEnviar'name'usuarios_contraCambiarEnviar')]
  677.     public function contraCambiarEnviar(ManagerRegistry $registryUserPasswordHasherInterface $hasherRequestStack $requestStack): Response
  678.     {
  679.         $request Request::createFromGlobals();
  680.         $sesion $this->get('session');
  681.         $cliente $sesion->get('claCliente');
  682.         $user $this->getUser();
  683.         $id $user->getId();
  684.         $contraActual $request->request->get('contraActual'''); //para post
  685.         $contra $request->request->get('contra'''); //para post
  686.         $claUsuario $request->request->get('claUsuario'''); //para post
  687.         if (strlen($contraActual) > 0) {
  688.             $claUsuario $sesion->get('claUsuario');
  689.         }
  690.         ///
  691.         $paraProceso = [];
  692.         $paraProceso['hasher'] = $hasher;
  693.         $paraProceso['cliente'] = $cliente;
  694.         $paraProceso['contraActual'] = $contraActual;
  695.         $paraProceso['contra'] = $contra;
  696.         $paraProceso['claUsuario'] = $claUsuario;
  697.         $paraProceso['id'] = $id;
  698.         $paraProceso['registry'] = $registry;
  699.         $paraProceso['requestStack'] = $requestStack;
  700.         $procesoData $this->procUsuariosCambiarContraEnviar($paraProceso);
  701.         $resultado $procesoData['resultado'];
  702.         $mensaje $procesoData['mensaje'];
  703.         ///
  704.         return new JsonResponse(
  705.             [
  706.                 'resultado' => $resultado,
  707.                 'mensaje' => $mensaje,
  708.             ]
  709.         );
  710.     }
  711.     ///
  712.     #[Route('/usuarios/usuariosAvisos'name'usuarios_usuarios_avisos'), IsGranted("IS_AUTHENTICATED_FULLY")]
  713.     public function usuariosAvisos(ManagerRegistry $registry): Response
  714.     {
  715.         $request Request::createFromGlobals();
  716.         $claUsuario $request->query->get('claUsuario'''); //para get
  717.         $sesion $this->get('session');
  718.         $cliente $sesion->get('claCliente');
  719.         $usuarioFunciones $sesion->get('funciones');
  720.         ///
  721.         $paraProceso = [];
  722.         $paraProceso['claUsuario'] = $claUsuario;
  723.         $paraProceso['cliente'] = $cliente;
  724.         $paraProceso['registry'] = $registry;
  725.         $procesoData $this->procUsuariosAvisos($paraProceso);
  726.         $rotulos $procesoData['rotulos'];
  727.         $valores $procesoData['valores'];
  728.         $valoresFalta $procesoData['valoresFalta'];
  729.         $generales $procesoData['generales'];
  730.         $catalogos $procesoData['catalogos'];
  731.         ///
  732.         return $this->render('usuarios/avisos.twig', [
  733.             "rotulos" => json_encode($rotulos),
  734.             "valores" => json_encode($valores),
  735.             "valoresFalta" => json_encode($valoresFalta),
  736.             "catalogos" => json_encode($catalogos),
  737.             "generales" => json_encode($generales),
  738.             "usuarioFunciones" => $usuarioFunciones,
  739.         ]);
  740.     }
  741.     ///
  742.     #[Route('/usuarios/avisosAgregar'name'usuarios_avisosAgregar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  743.     public function avisosAgregar(ManagerRegistry $registry): Response
  744.     {
  745.         $request Request::createFromGlobals();
  746.         $sesion $this->get('session');
  747.         $cliente $sesion->get('claCliente');
  748.         $claUsuario $request->request->get('claUsuario'''); //para post
  749.         $claSeccion $request->request->get('claSeccion''0'); //para post
  750.         ///
  751.         $paraProceso = [];
  752.         $paraProceso['cliente'] = $cliente;
  753.         $paraProceso['claUsuario'] = $claUsuario;
  754.         $paraProceso['claSeccion'] = $claSeccion;
  755.         $paraProceso['registry'] = $registry;
  756.         $procesoData $this->procAvisosAgregar($paraProceso);
  757.         $resultado $procesoData['resultado'];
  758.         $mensaje $procesoData['mensaje'];
  759.         $dataGrid $procesoData['dataGrid'];
  760.         ///
  761.         return new JsonResponse(
  762.             [
  763.                 'resultado' => $resultado,
  764.                 'mensaje' => $mensaje,
  765.                 'dataGrid' => $dataGrid,
  766.             ]
  767.         );
  768.     }
  769.     ///
  770.     #[Route('/usuarios/avisosQuitar'name'usuarios_avisosQuitar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  771.     public function avisosQuitar(ManagerRegistry $registry): Response
  772.     {
  773.         $request Request::createFromGlobals();
  774.         $sesion $this->get('session');
  775.         $cliente $sesion->get('claCliente');
  776.         $claUsuario $request->request->get('claUsuario'''); //para post
  777.         $claSeccion $request->request->get('claSeccion''0'); //para post
  778.         ///
  779.         $paraProceso = [];
  780.         $paraProceso['cliente'] = $cliente;
  781.         $paraProceso['claUsuario'] = $claUsuario;
  782.         $paraProceso['claSeccion'] = $claSeccion;
  783.         $paraProceso['registry'] = $registry;
  784.         $procesoData $this->procAvisosQuitar($paraProceso);
  785.         $resultado $procesoData['resultado'];
  786.         $mensaje $procesoData['mensaje'];
  787.         $dataGrid $procesoData['dataGrid'];
  788.         ///
  789.         return new JsonResponse(
  790.             [
  791.                 'resultado' => $resultado,
  792.                 'mensaje' => $mensaje,
  793.                 'dataGrid' => $dataGrid,
  794.             ]
  795.         );
  796.     }
  797.     ///
  798.     #[Route('/usuarios/ubicacionCambiar'name'usuarios_ubicacionCambiar'), IsGranted("IS_AUTHENTICATED_FULLY")]
  799.     public function usuariosUbicacionCambiar(ManagerRegistry $registry ): Response {
  800.         $sesion $this->get('session');
  801.         $cliente $sesion->get('claCliente');
  802.         $claUsuario $sesion->get('claUsuario');
  803.         $claUbicacion $sesion->get('claUbicacion');
  804.         ///
  805.         $paraProceso = [] ;
  806.         $paraProceso['cliente'] = $cliente
  807.         $paraProceso['claUsuario'] = $claUsuario;
  808.         $paraProceso['claUbicacion'] = $claUbicacion;
  809.         $paraProceso['registry'] = $registry;
  810.         $data $this->procUbicacionCambiar($paraProceso);
  811.         
  812.         $rotulos $data['rotulos'];
  813.         $valores $data['valores'];
  814.         $generales $data['generales'];
  815.         ///
  816.         return $this->render('usuarios/usuariosUbicacionesCambiar.twig', [
  817.                     'rotulos' => json_encode($rotulos),
  818.                     "valores" => json_encode($valores),
  819.                     "generales" => json_encode($generales),
  820.         ]);
  821.     }
  822.     ///
  823.     #[Route('/usuarios/ubicacionCambiarEnviar'name'usuarios_ubicacionCambiarEnviar')]
  824.     public function ubicacionCambiarEnviar(ManagerRegistry $registry): Response {
  825.         $request Request::createFromGlobals();
  826.         $sesion $this->get('session');
  827.         $cliente $sesion->get('claCliente');
  828.         $claUsuarioUbicacion $request->request->get('claUsuarioUbicacion'0); //para post
  829.         ///
  830.         $paraProceso = [] ;
  831.         $paraProceso['cliente'] = $cliente;
  832.         $paraProceso['sesion'] = $sesion;
  833.         $paraProceso['claUsuarioUbicacion'] = $claUsuarioUbicacion;
  834.         $paraProceso['registry'] = $registry;
  835.         $procesoData $this->procUbicacionCambiarEnviar($paraProceso);
  836.         $resultado $procesoData['resultado'];
  837.         $mensaje $procesoData['mensaje'];
  838.         $claUbicacion $procesoData['claUbicacion'];
  839.         $nomUbicacion $procesoData['nomUbicacion'];
  840.         $sesion->set('claUbicacion'$claUbicacion);
  841.         ///
  842.         return new JsonResponse([
  843.             'resultado' => $resultado,
  844.             'mensaje' => $mensaje,
  845.             'nomUbicacion' => $nomUbicacion,
  846.             ]
  847.         );
  848.     }
  849.     ///
  850.     #[Route('/usuarios/contraRecuperarEnviar'name'usuarios_contraRecuperarEnviar')]
  851.     public function contraRecuperarEnviar(ManagerRegistry $registryRequestStack $requestStack,
  852.         UserPasswordHasherInterface $hasherMailerInterface $mailer): Response {
  853.         $request Request::createFromGlobals();
  854.         $correo $request->request->get('correo'''); //para post
  855.         ///
  856.         $paraProceso = [] ;
  857.         $paraProceso['correo'] = $correo;
  858.         $paraProceso['hasher'] = $hasher;
  859.         $paraProceso['mailer'] = $mailer;
  860.         $paraProceso['registry'] = $registry;
  861.         $paraProceso['requestStack'] = $requestStack;
  862.         $data $this->procContraRecuperarEnviar($paraProceso);
  863.         $resultado $data['resultado'];
  864.         $mensaje $data['mensaje'];
  865.         $error $data['error'];
  866.         ///
  867.         return new JsonResponse([
  868.             'resultado' => $resultado,
  869.             'mensaje' => $mensaje,
  870.             'error' => $error,
  871.                 ]
  872.         );
  873.     }
  874. }// fin clase