<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
use App\Service\FuncionesIvtcotizador;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
class AppController extends AbstractController
{
use AppMovilTrait;
use AppProcesosTrait;
#[Route('/', name: 'app_raiz'), IsGranted("IS_AUTHENTICATED_FULLY")]
public function appRaiz(ManagerRegistry $registry): Response
{
return $this->redirectToRoute('inicio');
}
///
#[Route('/app/titulo', name: 'app_titulo'), IsGranted("IS_AUTHENTICATED_FULLY")]
public function appTitulo(ManagerRegistry $registry): Response
{
$sesion = $this->get('session');
$cliente = $sesion->get('claCliente');
$claUbicacion = $sesion->get('claUbicacion');
///
$paraProceso = [] ;
$paraProceso['sesion'] = $sesion;
$paraProceso['cliente'] = $cliente;
$paraProceso['claUbicacion'] = $claUbicacion;
$paraProceso['registry'] = $registry;
$data = $this->procTitulo($paraProceso);
$valores = $data['valores'];
///
return $this->render('app/appTop.twig', [
'valores' => json_encode($valores),
]);
}
///
#[Route('/inicio', name: 'inicio'), IsGranted("IS_AUTHENTICATED_FULLY")]
public function inicio(ManagerRegistry $registry): Response{
$usuario = $this->getUser();
$sesion = $this->get('session');
$sesion->set('subMenuRama', '');
$sesion->set('claCliente', $usuario->getClacliente());
///
$paraProceso = [] ;
$paraProceso['sesion'] = $sesion;
$paraProceso['usuario'] = $usuario;
$paraProceso['registry'] = $registry;
$paraProceso['template'] = 'app/inicio.twig';
if ($usuario) {
$paraProceso['cliente'] = $sesion->get('claCliente');
$data = $this->procClienteStatus($paraProceso);
if($data['resultado'] < 0){
//dd('sus');
//return $this->redirectToRoute('cuentaSuspendido');
}
}
$dataProceso = $this->procInicio($paraProceso);
$html = $dataProceso['html'];
$valores = $dataProceso['valores'];
$generales = $dataProceso['generales'];
$rotulos = $dataProceso['rotulos'];
///
return $this->render('app/inicio.twig', [
"rotulos" => json_encode($rotulos),
'generales' => json_encode($generales),
'valores' => json_encode($valores),
'html' => $html,
]);
}
///
#[Route('/app/sinDerechos', name: 'app_sinDerechos')]
public function sinDerechos(ManagerRegistry $registry): Response{
$user = $this->getUser();
$fi = new FuncionesIvtcotizador();
//solo _idioma
$controladorA = explode('\\', get_called_class());
$_n = $fi->get_nSoloIdioma($registry, end($controladorA), __FUNCTION__);
$rotulos = array(
'sinDerechos' => $_n['sinDerechos'] ?? 'No tiene derechos a ajecutar la funciĆ³n',
);
return $this->render('app/sinDerechos.twig', [
'rotulos' => $rotulos,
]);
}
///
#[Route('/app/onBoarding', name: 'app_onboarding'), IsGranted("IS_AUTHENTICATED_FULLY")]
public function onBoarding(ManagerRegistry $registry): Response{
$sesion = $this->get('session');
$cliente = $sesion->get('claCliente');
$usuario = $this->getUser();
///
$paraProceso = [] ;
$paraProceso['sesion'] = $sesion;
$paraProceso['template'] = 'app/onBoarding.twig';
$paraProceso['claUsuario'] = $this->getUser()->getClausuario();
$paraProceso['registry'] = $registry;
$paraProceso['cliente'] = $cliente;
$dataProceso = $this->procOnBoarding($paraProceso);
$html = $dataProceso['html'];
$valores = $dataProceso['valores'];
$generales = $dataProceso['generales'];
$rotulos = $dataProceso['rotulos'];
///
return $this->render('app/onBoarding.twig', [
'html' => $html,
'valores' => $valores,
'generales' => json_encode($generales),
"rotulos" => json_encode($rotulos),
]);
}
}//fin clase