src/Controller/DashboardController.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Usuario;
  4. use App\Form\DashboardFiltroType;
  5. use App\Repository\EquipoRepository;
  6. use App\Repository\EvaluacionRepository;
  7. use App\Repository\SolicitudRepository;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. use Symfony\Component\HttpFoundation\RedirectResponse;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. #[Route('/dashboard')]
  15. class DashboardController extends AbstractController
  16. {
  17.     #[Route('/'name'app_dashboard'methods: ['GET''POST'])]
  18.     public function index(Request $requestSolicitudRepository $solrespEquipoRepository $eqRepEvaluacionRepository $evaRep): RedirectResponse|Response
  19.     {
  20.         date_default_timezone_set("America/Mexico_City");
  21.         # Se obtiene el nivel de acceso
  22.         $perfil $request->getSession()->get('perfil');
  23.         $nivel $perfil[13]["nivel"];
  24.         # Si el nivel de acceso es 0 entonces se retorna a página de inicio
  25.         if ($nivel == 0) {
  26.             $this->addFlash('danger''El acceso al "Dashboard" está restringido.');
  27.             return $this->redirectToRoute('homepage');
  28.         }
  29.         /** @var Usuario $user */
  30.         $user $this->getUser();
  31.         if ($nivel == 2) {
  32.             $uni true;
  33.         } else {
  34.             $uni false;
  35.         }
  36.         if ($request->isMethod('POST')) {
  37.             $parameters $request->request->get('dashboard_filtro');
  38.             $unidad = (array_key_exists('unidad'$request->request->all()['dashboard_filtro'])) ? $parameters['unidad'] : "";
  39.             $finicio $parameters['date_inicio'];
  40.             $ffinal $parameters['date_fin'];
  41.             if ($nivel == 2) {
  42.                 // Acceso universal o plantel seleccionado
  43.                 $solicitud $solresp->eficaciaMantenimiento($finicio$ffinal$unidad);
  44.                 $equipo $eqRep->equipoActualizado($unidad);
  45.                 $evaluacion $evaRep->evaluacionServicios($finicio$ffinal$unidad);
  46.             } else {
  47.                 // Acceso solo a lo del propio plantel
  48.                 $solicitud $solresp->eficaciaMantenimiento($finicio$ffinal$user->getUnidad());
  49.                 $equipo $eqRep->equipoActualizado($user->getUnidad());
  50.                 $evaluacion $evaRep->evaluacionServicios($finicio$ffinal$user->getUnidad());
  51.             }
  52.             return new JsonResponse([
  53.                 'data' => [
  54.                     'solicitud' => $solicitud,
  55.                     'equipo' => $equipo,
  56.                     'evaluacion' => $evaluacion
  57.                 ]
  58.             ], Response::HTTP_OK);
  59.         }
  60.         $form $this->createForm(DashboardFiltroType::class, null, ['unidad' => $uni]);
  61.         $form->handleRequest($request);
  62.         return $this->render('dashboard/index.html.twig', [
  63.             'form' => $form->createView(),
  64.         ]);
  65.     }
  66.     //Para subir formulario
  67. }