src/Controller/TblOperationTravailController.php line 43

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\TblOperationTravail;
  4. use App\Form\OperationSearchType;
  5. use App\Form\TblOperationTravailType;
  6. use App\Repository\TblOperationTravailRepository;
  7. use App\Service\OperationTravailService;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  14. /**
  15.  * @Route("/pointage")
  16.  * @Security("is_granted('ROLE_ADMIN') or is_granted('ROLE_SUPER_ADMIN')")
  17.  */
  18. class TblOperationTravailController extends AbstractController
  19. {
  20.     /**
  21.      * @Route("/", name="pointage_app")
  22.      */
  23.     public function index(Request $requestOperationTravailService $operationService): Response
  24.     {
  25.         $operationSearch $operationService->setOperationSearchForm();
  26.         $form $this->createForm(OperationSearchType::class, $operationSearch);
  27.         $form->handleRequest($request);
  28.         $request->getSession()->set('operationSearch'$form->getData());
  29.         $data $operationService->getDataForPointageCalendar();
  30.         return $this->render('operation_travail/calendar.html.twig', [
  31.             'data_calendar' => $data,
  32.             'formSearch' => $form->createView(),
  33.             'isSearchVide' => $operationSearch->isVide(),
  34.         ]);
  35.     }
  36.     /**
  37.      * @Route("/new", name="app_tbl_operation_travail_new")
  38.      */
  39.     public function new(Request $requestTblOperationTravailRepository $tblOperationTravailRepositoryOperationTravailService $operationService): Response
  40.     {
  41.         $tblOperationTravail = new TblOperationTravail();
  42.         $operationSearch $operationService->setOperationSearchForm();
  43.         !$operationSearch->personnel ?: $tblOperationTravail->setPersonnel($operationSearch->personnel);
  44.         $form $this->createForm(TblOperationTravailType::class, $tblOperationTravail, ['action' => 'new']);
  45.         $form->handleRequest($request);
  46.         $codeResponse $request->request->get('isNew') ? 200 422;
  47.         if ($form->isSubmitted() && $form->isValid()) {
  48.             $tblOperationTravailRepository->add($tblOperationTravailtrue);
  49.             if ($request->isXmlHttpRequest()) {
  50.                 return new Response(null204);
  51.             }
  52.             return $this->redirectToRoute('home', [], Response::HTTP_SEE_OTHER);
  53.         }
  54.         $template $request->isXmlHttpRequest() ? '_form.html.twig' 'new.html.twig';
  55.         return $this->render('operation_travail/' .$template, [
  56.             'tbl_operation_travail' => $tblOperationTravail,
  57.             'form' => $form->createView(),
  58.         ], new Response(
  59.             null,
  60.             $form->isSubmitted() && !$form->isValid() ? $codeResponse 200,
  61.         ));
  62.     }
  63.     /**
  64.      * @Route("/pointageDatatableAjax", name="pointage_datatable_ajax", methods={"POST"})
  65.      */
  66.     public function adminAjax(Request $requestOperationTravailService $operationService): JsonResponse
  67.     {
  68.         $params = [
  69.             "paie"     =>false,
  70.             "pointage" =>true,
  71.             "resultats-paie"=>false,
  72.             "resultats-pointage"=>true,
  73.         ];
  74.         $operationJson $operationService->getOperationAjax($request$params);
  75.         return new JsonResponse($operationJson);
  76.     }
  77.     /**
  78.      * @Route("/{id}/edit", name="app_tbl_operation_travail_edit", methods={"GET", "POST"})
  79.      */
  80.     public function edit(Request $requestTblOperationTravail $tblOperationTravailTblOperationTravailRepository $tblOperationTravailRepository): Response
  81.     {
  82.         $form $this->createForm(TblOperationTravailType::class, $tblOperationTravail, ['action' => 'edit']);
  83.         $form->handleRequest($request);
  84.         if ($form->isSubmitted() && $form->isValid()) {
  85.             $tblOperationTravailRepository->add($tblOperationTravailtrue);
  86.             return $this->redirectToRoute('paie_resultats', [], Response::HTTP_SEE_OTHER);
  87.         }
  88.         return $this->renderForm('operation_travail/edit.html.twig', [
  89.             'tbl_operation_travail' => $tblOperationTravail,
  90.             'form' => $form,
  91.         ]);
  92.     }
  93.     /**
  94.      * @Route("/editModal", name="app_tbl_operation_travail_edit_modal", methods={"GET", "POST"})
  95.      */
  96.     public function editModal(Request $requestTblOperationTravailRepository $tblOperationTravailRepository): Response
  97.     {
  98.         $operationId $request->get('operationId');
  99.         $tblOperationTravail $this->getDoctrine()
  100.             ->getRepository(TblOperationTravail::class)
  101.             ->find($operationId);
  102.         $form $this->createForm(TblOperationTravailType::class, $tblOperationTravail, ['action' => 'editModal']);
  103.         
  104.         $form->handleRequest($request);
  105.         if ($form->isSubmitted() && $form->isValid()) {
  106.             $tblOperationTravailRepository->add($tblOperationTravailtrue);
  107.             return $this->redirectToRoute('pointage_app', [], Response::HTTP_SEE_OTHER);
  108.         }
  109.         return $this->render('operation_travail/_form_edit_modal.html.twig', [
  110.             'tbl_operation_travail' => $tblOperationTravail,
  111.             'form' => $form->createView(),
  112.         ]);
  113.     }
  114.     /**
  115.      * @Route("/editModal/afterEdit/{id}", name="app_tbl_operation_travail_edit_modal_after", methods={"GET", "POST"})
  116.      */
  117.     public function editModalAfterEdit(TblOperationTravail $tblOperationTravailRequest $requestTblOperationTravailRepository $tblOperationTravailRepository): Response
  118.     {
  119.         $form $this->createForm(TblOperationTravailType::class, $tblOperationTravail, ['action' => 'editModal']);
  120.         $form->handleRequest($request);
  121.         if ($form->isSubmitted() && $form->isValid()) {
  122.             $tblOperationTravailRepository->add($tblOperationTravailtrue);
  123.             return $this->redirectToRoute('pointage_app', [], Response::HTTP_SEE_OTHER);
  124.         }
  125.         return $this->render('operation_travail/_form_edit_modal.html.twig', [
  126.             'tbl_operation_travail' => $tblOperationTravail,
  127.             'form' => $form->createView(),
  128.         ]);
  129.     }
  130.     /**
  131.      * @Route("/delete", name="app_tbl_operation_travail_delete", methods={"POST"})
  132.      */
  133.     public function delete(Request $requestTblOperationTravailRepository $tblOperationTravailRepository): Response
  134.     {
  135.         
  136.         $operationId $request->get('operationId');
  137.         $tblOperationTravail $this->getDoctrine()
  138.             ->getRepository(TblOperationTravail::class)
  139.             ->find($operationId);
  140.         if ($tblOperationTravail) {
  141.             $tblOperationTravailRepository->remove($tblOperationTravailtrue);
  142.         }
  143.         return $this->redirectToRoute('pointage_app', [], Response::HTTP_SEE_OTHER);
  144.     }
  145. }