src/Controller/HomeController.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Inversion;
  4. use App\Entity\Tramite;
  5. use App\Repository\UsuarioRepository;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  9. use App\Entity\Usuario;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Doctrine\ORM\Query\ResultSetMapping;
  13. use Symfony\Component\Serializer\Serializer;
  14. use Symfony\Component\Serializer\Encoder\JsonEncoder;
  15. use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
  16. /**
  17.  * @Route("/home")
  18.  *
  19.  */
  20. class HomeController extends AbstractController
  21. {
  22.     /**
  23.      * @Route("/", name="home")
  24.      */
  25.     public function index(UsuarioRepository $usuarioRequest $request)
  26.     {
  27.         $this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');
  28.         $em $this->getDoctrine()->getManager();
  29.         $sistemas $usuario->findCustomAll();
  30.         if ($this->isGranted('ROLE_ADMIN') || $this->isGranted('ROLE_SUPER_ADMIN')) {
  31.             $monto_mensual $em->getRepository(Inversion::class)->inversionMensual();
  32.             $monto_inversion_total $em->getRepository(Inversion::class)->montoInversion();
  33.             $monto_pagar $em->getRepository(Inversion::class)->montoPagar();
  34.             $monto_interes $em->getRepository(Inversion::class)->montoIntereses();
  35.             $total_fondeadores $em->getRepository(Inversion::class)->totalFondeadores();
  36.             $map = new ResultSetMapping();
  37.             $map->addScalarResult('anio''anio');
  38.             $map->addScalarResult('mes''mes');
  39.             $map->addScalarResult('total''total');
  40.             $query $em->createNativeQuery("SELECT 
  41.                                                     DATE_FORMAT(created, '%Y') AS anio,
  42.                                                     DATE_FORMAT(created, '%m') AS mes,
  43.                                                     COUNT(id) AS total
  44.                                                 FROM
  45.                                                     datos_usuario
  46.                                                 GROUP BY DATE_FORMAT(created, '%Y%m')"$map);
  47.             $resultset $query->getResult();
  48.             $lista_unidades = array();
  49.             foreach ($resultset as $row) {
  50.                 if (!is_null($row['mes'])) {
  51.                    $lista_unidades[] = '["' $row['anio'] . '-' $row['mes'] . '", ' $row['total'] . ']';
  52.                 }
  53.             }
  54.             $pedidos '[';
  55.             $pedidos .= implode(', '$lista_unidades) . ']';
  56.             return $this->render('home/index.html.twig', [
  57.                 'pedidos' => $pedidos,
  58.                 'hoy' => date('Y-m-d'),
  59.                 'monto_mensual' => $monto_mensual,
  60.                 'monto_inversion_total' => $monto_inversion_total,
  61.                 'monto_pagar' => $monto_pagar,
  62.                 'monto_interes' => $monto_interes,
  63.                 'total_fondeadores' => $total_fondeadores,
  64.             ]);
  65.         }elseif ($this->isGranted('ROLE_FONDEADOR')){
  66.             $monto_mensual $em->getRepository(Inversion::class)->inversionMensualFondeador($this->getUser()->getId());
  67.             $monto_inversion $em->getRepository(Inversion::class)->montoInversionFondeador($this->getUser()->getId());
  68.             $monto_pagar $em->getRepository(Inversion::class)->montoPagarFondeador($this->getUser()->getId());
  69.             $monto_interes $em->getRepository(Inversion::class)->montoInteresFondeador($this->getUser()->getId());
  70.             return $this->render('home/fondeador.html.twig', [
  71.                 'monto_mensual' => $monto_mensual,
  72.                 'monto_inversion_total' => $monto_inversion,
  73.                 'monto_pagar' => $monto_pagar,
  74.                 'monto_interes' => $monto_interes,
  75.                 'hoy' => date('Y-m-d'),
  76.             ]);
  77.         }else{
  78.             return $this->render('home/default.html.twig', [
  79.             ]);
  80.         }
  81.     }
  82.     /**
  83.      * @Route("/adminDashboard", name="adminDashboard")
  84.      */
  85.     public function adminDashboard()
  86.     {
  87.         $this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');
  88.         $this->denyAccessUnlessGranted('ROLE_ADMIN');
  89.         // or add an optional message - seen by developers
  90.         $this->denyAccessUnlessGranted('ROLE_ADMIN'null'User tried to access a page without having ROLE_ADMIN');
  91.         return $this->render('home/index.html.twig', [
  92.             'controller_name' => 'HomeController',
  93.         ]);
  94.     }
  95. }