src/Controller/Admin/DataReadController.php line 78

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Domain\Model\Entity\DataRead;
  4. use App\Domain\Services\DataReadInitService;
  5. use App\Form\Admin\DataReadType;
  6. use App\Repository\DataReadRepository;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Knp\Component\Pager\PaginatorInterface;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. class DataReadController extends AbstractController
  14. {
  15.     public function index(
  16.         EntityManagerInterface $em,
  17.         PaginatorInterface $paginator,
  18.         Request $request
  19.     ): Response {
  20.         $dql   "SELECT e FROM App\Domain\Model\Entity\DataRead e ORDER BY e.id DESC";
  21.         $query $em->createQuery($dql);
  22.         $pagination $paginator->paginate(
  23.             $query/* query NOT result */
  24.             $request->query->getInt('page'1), /*page number*/
  25.             30 /*limit per page*/
  26.         );
  27.         return $this->render('admin/data_read/index.html.twig', [
  28.             'pagination' => $pagination,
  29.         ]);
  30.     }
  31.     public function indexNoErrors(
  32.         EntityManagerInterface $em,
  33.         PaginatorInterface $paginator,
  34.         Request $request
  35.     ): Response {
  36.         $dql   "SELECT e FROM App\Domain\Model\Entity\DataRead e WHERE e.errors = :errors ORDER BY e.id DESC";
  37.         $query $em->createQuery($dql);
  38.         $query->setParameters([
  39.             'errors' => json_encode([]),
  40.         ]);
  41.         $pagination $paginator->paginate(
  42.             $query/* query NOT result */
  43.             $request->query->getInt('page'1), /*page number*/
  44.             30 /*limit per page*/
  45.         );
  46.         return $this->render('admin/data_read/index.html.twig', [
  47.             'pagination' => $pagination,
  48.         ]);
  49.     }
  50.     public function new(Request $requestDataReadRepository $dataReadRepository): Response
  51.     {
  52.         $dataRead = new DataRead();
  53.         $form $this->createForm(DataReadType::class, $dataRead);
  54.         $form->handleRequest($request);
  55.         if ($form->isSubmitted() && $form->isValid()) {
  56.             $dataReadRepository->add($dataRead);
  57.             return $this->redirectToRoute('admin_data_read_index', [], Response::HTTP_SEE_OTHER);
  58.         }
  59.         return $this->renderForm('admin/data_read/new.html.twig', [
  60.             'data_read' => $dataRead,
  61.             'form' => $form,
  62.         ]);
  63.     }
  64.     public function show(DataRead $dataRead): Response
  65.     {
  66.         return $this->render('admin/data_read/show.html.twig', [
  67.             'data_read' => $dataRead,
  68.             'showDa' => false,
  69.         ]);
  70.     }
  71.     public function showDa(DataRead $dataRead): Response
  72.     {
  73.         return $this->render('admin/data_read/show.html.twig', [
  74.             'data_read' => $dataRead,
  75.             'showDa' => true,
  76.         ]);
  77.     }
  78.     public function showRawDataDecoded(DataRead $dataRead): Response
  79.     {
  80.         return $this->render('admin/data_read/show_data_read_decoded.html.twig', [
  81.             'data_read' => $dataRead,
  82.         ]);
  83.     }
  84.     public function edit(Request $requestDataRead $dataReadDataReadRepository $dataReadRepository): Response
  85.     {
  86.         $form $this->createForm(DataReadType::class, $dataRead);
  87.         $form->handleRequest($request);
  88.         if ($form->isSubmitted() && $form->isValid()) {
  89.             $dataReadRepository->add($dataRead);
  90.             return $this->redirectToRoute('admin_data_read_index', [], Response::HTTP_SEE_OTHER);
  91.         }
  92.         return $this->renderForm('admin/data_read/edit.html.twig', [
  93.             'data_read' => $dataRead,
  94.             'form' => $form,
  95.         ]);
  96.     }
  97.     public function delete(Request $requestDataRead $dataReadDataReadRepository $dataReadRepository): Response
  98.     {
  99.         if ($this->isCsrfTokenValid('delete'.$dataRead->getId(), $request->request->get('_token'))) {
  100.             $dataReadRepository->remove($dataRead);
  101.         }
  102.         return $this->redirectToRoute('admin_data_read_index', [], Response::HTTP_SEE_OTHER);
  103.     }
  104.     public function setNew(DataRead $dataReadDataReadInitService $dataReadInitService): Response
  105.     {
  106.         $dataRead->initStatus();
  107.         $dataReadInitService->setupNewRead($dataRead);
  108.         return $this->redirectToRoute('admin_data_read_index');
  109.     }
  110.     public function sentToDevice(DataRead $dataRead): Response
  111.     {
  112.         return $this->render('admin/data_read/sent_to_device.html.twig', [
  113.             'data_read' => $dataRead,
  114.             'showDa' => false,
  115.         ]);
  116.     }
  117.     public function errors(DataRead $dataRead): Response
  118.     {
  119.         return $this->render('admin/data_read/errors.html.twig', [
  120.             'data_read' => $dataRead,
  121.         ]);
  122.     }
  123. }