src/Controller/SecurityController.php line 38

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  7. use App\Entity\Categoria;
  8. use Symfony\Component\HttpFoundation\Request;
  9. //
  10. use App\Entity\Contacto;
  11. use App\Entity\Servicio;
  12. use App\Entity\Informacion;
  13. use App\Entity\Producto;
  14. use App\Entity\Cliente;
  15. use App\Entity\Noticia;
  16. class SecurityController extends AbstractController
  17. {
  18.     /**
  19.      * @Route("/", name="homepage")
  20.      */
  21.     public function indexAction(Request $request)
  22.     {
  23.         return $this->redirectToRoute('landing_page');
  24.     }
  25.     
  26.     /**
  27.      * @Route("/index", name="landing_page")
  28.      */
  29.     public function landingPageAction(Request $request)
  30.     {
  31.         //return $this->render('public/landing_page.html.twig');
  32.        
  33.         $em $this->getDoctrine()->getManager();
  34.         $contacto=$this->getDoctrine()->getRepository(Contacto::class)->findAll([],['id'=>'ASC']);
  35.         $dato=null;
  36.         if($contacto){
  37.             $dato=$contacto[0];
  38.         }
  39.         $servicio=$this->getDoctrine()->getRepository(Servicio::class)->findAll([],['id'=>'ASC']);
  40.         $servi=null;
  41.         if($servicio){
  42.             $servi=$servicio[0];
  43.         }
  44.         $informacion=$this->getDoctrine()->getRepository(Informacion::class)->findAll([],['id'=>'ASC']);
  45.         $info=[];
  46.         if($informacion){
  47.             $info=$informacion;
  48.         }
  49. //        $categoriaProducto=$this->getDoctrine()->getRepository(Producto::class)->findAll([],['id'=>'ASC']);
  50.       $categoriaProducto $em->getRepository(Categoria::class)->findAll([],['id'=>'ASC']);
  51.         $prod=null;
  52.         if($categoriaProducto){
  53.             $prod=$categoriaProducto[0];
  54.         }
  55.         $cliente=$this->getDoctrine()->getRepository(Cliente::class)->findAll([],['id'=>'ASC']);
  56.         return $this->render('landing/landing_home.html.twig',array('contacto'=>$dato,'servicio'=>$servicio,
  57.         'informacion'=>$info'categoriasProducto'=>$categoriaProducto'cliente'=>$cliente ));
  58.     }
  59.     /**
  60.      * @Route("/login", name="app_login")
  61.      */
  62.     public function login(AuthenticationUtils $authenticationUtils): Response
  63.     {
  64.         // get the login error if there is one
  65.         $error $authenticationUtils->getLastAuthenticationError();
  66.         // last username entered by the user
  67.         $lastUsername $authenticationUtils->getLastUsername();
  68.         return $this->render('security/login.html.twig', ['last_username' => $lastUsername'error' => $error]);
  69.     }
  70.     /**
  71.      * @Route("/direc", name="app_direc")
  72.      */
  73.     public function direc(AuthenticationUtils $authenticationUtils): Response
  74.     {
  75.         if($this->get('security.authorization_checker')->isGranted('ROLE_ADMIN')){
  76.             return $this->redirectToRoute('empresa_plan_index');
  77.         }
  78.         /*
  79.         if($this->get('security.authorization_checker')->isGranted('ROLE_EMPRESA')){
  80.             return $this->redirectToRoute('empresa_planes_index');
  81.         }*/
  82.         if($this->get('security.authorization_checker')->isGranted('ROLE_EMPRESA_EMPLEADO')){
  83.             return $this->redirectToRoute('empresa_planes_index');
  84.         }     
  85.         if($this->get('security.authorization_checker')->isGranted('ROLE_GESTOR')){
  86.             return $this->redirectToRoute('empresa_index');
  87.         }   
  88.     }
  89.     /**
  90.      * @Route("/logout", name="app_logout")
  91.      */
  92.     public function logout()
  93.     {
  94.         throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.');
  95.     }
  96.     
  97.     /**
  98.      * @Route("{id}/servicios", name="landing_servicio")
  99.      */
  100.     public function servicioAction(Request $request)
  101.     {
  102.         //return $this->render('public/landing_page.html.twig');
  103.         $id = (int) $request->get('id');
  104.         //var_dump($id);die;
  105.         $em $this->getDoctrine()->getManager();
  106.         $contacto=$em->getRepository(Contacto::class)->findAll([],['id'=>'ASC']);
  107.         $dato=null;
  108.         if($contacto){
  109.             $dato=$contacto[0];
  110.         }
  111.       $producto=$em->getRepository(Producto::class)->findAll([],['id'=>'ASC']);
  112.       $prod=null;
  113.       if($producto){
  114.         $prod=$producto[0];
  115.       }
  116.       $categoriasProducto=$em->getRepository(Categoria::class)->findAll([],['id'=>'ASC']);
  117.         $servicio=$em->getRepository(Servicio::class)->findAll([],['id'=>'ASC']);
  118.         $servi=null;
  119.         if($servicio){
  120.             $servi=$servicio[0];
  121.         }
  122.         $servi=$em->getRepository(Servicio::class)->findOneBy(['id'=>$id],['id'=>'ASC']);
  123.         $cliente=$em->getRepository(Cliente::class)->findAll([],['id'=>'ASC']);
  124.         return $this->render('landing/landing_servicio.html.twig',
  125.         array('contacto'=>$dato,'servicio'=>$servicio,'servi'=>$servi,
  126.           'productos'=>$producto,
  127.           'categoriasProducto'=>$categoriasProducto,
  128.           'cliente'=>$cliente ));
  129.     }
  130.   /**
  131.    * @Route("/noticias", name="landing_noticia")
  132.    */
  133.   public function noticiaAction(Request $request){
  134.     $em $this->getDoctrine()->getManager();
  135.     $contacto=$this->getDoctrine()->getRepository(Contacto::class)->findAll([],['id'=>'ASC']);
  136.     $dato=null;
  137.     if($contacto){
  138.       $dato=$contacto[0];
  139.     }
  140.     $servicio=$this->getDoctrine()->getRepository(Servicio::class)->findAll([],['id'=>'ASC']);
  141.     $servi=null;
  142.     if($servicio){
  143.       $servi=$servicio[0];
  144.     }
  145.     $informacion=$this->getDoctrine()->getRepository(Informacion::class)->findAll([],['id'=>'ASC']);
  146.     $info=[];
  147.     if($informacion){
  148.       $info=$informacion;
  149.     }
  150. //        $categoriaProducto=$this->getDoctrine()->getRepository(Producto::class)->findAll([],['id'=>'ASC']);
  151.     $categoriaProducto $em->getRepository(Categoria::class)->findAll([],['id'=>'ASC']);
  152.     $prod=null;
  153.     if($categoriaProducto){
  154.       $prod=$categoriaProducto[0];
  155.     }
  156.     $cliente=$this->getDoctrine()->getRepository(Cliente::class)->findAll([],['id'=>'ASC']);
  157.     $noticia=$this->getDoctrine()->getRepository(Noticia::class)->findAll([],['id'=>'ASC']);
  158.     return $this->render('landing/landing_noticias.html.twig',array('contacto'=>$dato,'servicio'=>$servicio,
  159.       'informacion'=>$info'categoriasProducto'=>$categoriaProducto'cliente'=>$cliente'noticias'=>$noticia ));
  160.   }
  161.   /**
  162.    * @Route("{id}/productos", name="landing_producto")
  163.    */
  164.   public function productoAction(Request $request){
  165.     $id = (int) $request->get('id');
  166.     $em $this->getDoctrine()->getManager();
  167.     $contacto=$this->getDoctrine()->getRepository(Contacto::class)->findAll([],['id'=>'ASC']);
  168.     $dato=null;
  169.     if($contacto){
  170.       $dato=$contacto[0];
  171.     }
  172.     $servicio=$this->getDoctrine()->getRepository(Servicio::class)->findAll([],['id'=>'ASC']);
  173.     $servi=null;
  174.     if($servicio){
  175.       $servi=$servicio[0];
  176.     }
  177.     $productos=$em->getRepository(Producto::class)->findAll([],['id'=>'ASC']);
  178.     $categoriasProducto=$em->getRepository(Categoria::class)->findAll([],['id'=>'ASC']);
  179.     $objectoCategoria $em->getRepository(Categoria::class)->find($id);
  180.     $productos=$em->getRepository(Producto::class)->findBy(['categoriaId'=>$objectoCategoria],['id'=>'ASC']);
  181.     $cliente=$this->getDoctrine()->getRepository(Cliente::class)->findAll([],['id'=>'ASC']);
  182.     return $this->render('landing/landing_producto.html.twig',
  183.       array('contacto'=>$dato,
  184.         'servicio'=>$servicio,
  185.         'productos'=>$productos,
  186.         'categoria'=>$objectoCategoria,
  187.         'categoriasProducto'=>$categoriasProducto,
  188.         'cliente'=>$cliente ));
  189.   }
  190.   /**
  191.    * @Route("{id}/productos_detalle", name="landing_producto_detalle")
  192.    */
  193.   public function productoDetalleAction(Request $request){
  194.     $id = (int) $request->get('id');
  195.     $em $this->getDoctrine()->getManager();
  196.     $contacto=$this->getDoctrine()->getRepository(Contacto::class)->findAll([],['id'=>'ASC']);
  197.     $dato=null;
  198.     if($contacto){
  199.       $dato=$contacto[0];
  200.     }
  201.     $servicio=$this->getDoctrine()->getRepository(Servicio::class)->findAll([],['id'=>'ASC']);
  202.     $servi=null;
  203.     if($servicio){
  204.       $servi=$servicio[0];
  205.     }
  206.     $productos=$em->getRepository(Producto::class)->findAll([],['id'=>'ASC']);
  207.     $objectoProducto=$em->getRepository(Producto::class)->findOneBy(['id'=>$id],['id'=>'ASC']);
  208.     $categoriasProducto=$em->getRepository(Categoria::class)->findAll([],['id'=>'ASC']);
  209. //    var_dump($objectoProducto->getCategoriaId()->getId());
  210.     $objectoCategoria $em->getRepository(Categoria::class)->find($objectoProducto->getCategoriaId()->getId());
  211.     $productos=$em->getRepository(Producto::class)->findBy(['categoriaId'=>$objectoCategoria],['id'=>'ASC']);
  212.     $cliente=$this->getDoctrine()->getRepository(Cliente::class)->findAll([],['id'=>'ASC']);
  213. //var_dump($objectoCategoria); die;
  214.     return $this->render('landing/landing_producto_detalle.html.twig',
  215.       array('contacto'=>$dato,
  216.         'servicio'=>$servicio,
  217.         'productos'=>$productos,
  218.         'categoria'=>$objectoCategoria,
  219.         'producto'=> $objectoProducto,
  220.         'categoriasProducto'=>$categoriasProducto,
  221.         'cliente'=>$cliente ));
  222.   }
  223.   /**
  224.    * @Route("{id}/noticias_detalle", name="landing_noticia_detalle")
  225.    */
  226.   public function noticiaDetalleAction(Request $request){
  227.     $id = (int) $request->get('id');
  228.     $em $this->getDoctrine()->getManager();
  229.     $contacto=$this->getDoctrine()->getRepository(Contacto::class)->findAll([],['id'=>'ASC']);
  230.     $dato=null;
  231.     if($contacto){
  232.       $dato=$contacto[0];
  233.     }
  234.     $servicio=$this->getDoctrine()->getRepository(Servicio::class)->findAll([],['id'=>'ASC']);
  235.     $servi=null;
  236.     if($servicio){
  237.       $servi=$servicio[0];
  238.     }
  239.     $productos=$em->getRepository(Producto::class)->findAll([],['id'=>'ASC']);
  240. //    $objectoProducto=$em->getRepository(Noticia::class)->findOneBy(['id'=>$id],['id'=>'ASC']);
  241.     $notica=$em->getRepository(Noticia::class)->findOneBy(['id'=>$id],['id'=>'ASC']);
  242.     $categoriasProducto=$em->getRepository(Categoria::class)->findAll([],['id'=>'ASC']);
  243. //    var_dump($objectoProducto->getCategoriaId()->getId());
  244. //    $objectoCategoria = $em->getRepository(Categoria::class)->find($objectoProducto->getCategoriaId()->getId());
  245. //    $productos=$em->getRepository(Producto::class)->findBy(['categoriaId'=>$objectoCategoria],['id'=>'ASC']);
  246.     $cliente=$this->getDoctrine()->getRepository(Cliente::class)->findAll([],['id'=>'ASC']);
  247. //var_dump($objectoCategoria); die;
  248. //    var_dump($notica); die;
  249.     return $this->render('landing/landing_noticia_detalle.html.twig',
  250.       array('contacto'=>$dato,
  251.         'servicio'=>$servicio,
  252.         'productos'=>$productos,
  253.         'noticia' => $notica,
  254.         'categoriasProducto'=>$categoriasProducto,
  255.         'cliente'=>$cliente ));
  256.   }
  257. }