src/Controller/VehicleDocsController.php line 54

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\VehicleDocTypes;
  4. use App\Entity\VehicleDocs;
  5. use App\Entity\VehicleRtsActivitiesEstimateVal;
  6. use App\Entity\VehicleSecurityNotices;
  7. use App\Entity\Vehicles;
  8. use App\Entity\VehicleClients;
  9. use App\Form\VehicleHasDocsType;
  10. use App\Service\VehicleDocsService;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. use Symfony\Component\Security\Http\Attribute\IsGranted;
  13. use Symfony\Component\ExpressionLanguage\Expression;
  14. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  15. use Symfony\Component\HttpFoundation\Request;
  16. use Symfony\Contracts\Translation\TranslatorInterface;
  17. use Doctrine\Persistence\ManagerRegistry;
  18. /**
  19.  * Class VehicleDocsController
  20.  * @package App\Controller
  21.  *
  22.  */
  23. #[Route('vehicleDocs')]
  24. #[IsGranted(new Expression("is_granted('ROLE_ADMIN') or is_granted('ROLE_BENEFICIARY_REP')"))]
  25. class VehicleDocsController extends AbstractController
  26. {
  27.     /**
  28.      * Lists all vehicleDoc entities.
  29.      *
  30.      * @return \Symfony\Component\HttpFoundation\Response
  31.      */
  32.     #[Route('/'name'vehicledocs_index'methods:["GET"])]
  33.     public function indexAction(ManagerRegistry $doctrine)
  34.     {
  35.         $em $doctrine->getManager();
  36.         $vehicleDocs $em->getRepository(VehicleDocs::class)->findAll();
  37.         return $this->render('vehicledocs/index.html.twig', array(
  38.             'vehicleDocs' => $vehicleDocs,
  39.         ));
  40.     }
  41.     /**
  42.      * Built tab 3 components given the vehicle Id
  43.      *
  44.      * @return \Symfony\Component\HttpFoundation\Response
  45.      * @throws \Doctrine\ORM\NonUniqueResultException
  46.      */
  47.     #[Route('/{vehicleId}/edit'name'vehicledocs_edit'methods:["GET"])]
  48.     public function editAction(Request $requestVehicles $vehicle$vehicleId,VehicleDocsService $vehicleDocsService)
  49.     {
  50.         $editVehicleDocs $vehicleDocsService->edit($vehicle,$vehicleId);
  51.         return $this->render('vehicledocs/edit.html.twig',$editVehicleDocs);
  52.     }
  53.     /**
  54.      * Update an existing vehicle and its docs entities
  55.      *
  56.      * @return \Symfony\Component\HttpFoundation\RedirectResponse
  57.      * @throws \Doctrine\ORM\NonUniqueResultException
  58.      */
  59.     #[Route('/{vehicleId}/edit'name'vehicledocs_update'methods:["POST"])]
  60.     public function updateAction(Request $requestVehicles $vehicle$vehicleIdVehicleDocsService $vehicleDocsService) {
  61.         $updateVehicleDocs =  $vehicleDocsService->update($vehicle,$vehicleId);
  62.         if($updateVehicleDocs['result']=='success'){
  63.             return $this->redirectToRoute('vehicledocs_edit', array('vehicleId' => $vehicle->getVehicleId() ));
  64.         }else{
  65.             return $this->render('vehicledocs/edit.html.twig'$updateVehicleDocs['param']);
  66.         }
  67.     }
  68.     /**
  69.      * Deletes a vehicleDoc entity.
  70.      *
  71.      * @return \Symfony\Component\HttpFoundation\RedirectResponse
  72.      */
  73.     #[Route('/{docId}'name'vehicledocs_delete'methods:["DELETE"])]
  74.     public function deleteAction(Request $requestVehicleDocs $vehicleDocManagerRegistry $doctrine)
  75.     {
  76.         $form $this->createDeleteForm($vehicleDoc);
  77.         $form->handleRequest($request);
  78.         if ($form->isSubmitted() && $form->isValid()) {
  79.             $em $doctrine->getManager();
  80.             $em->remove($vehicleDoc);
  81.             $em->flush();
  82.         }
  83.         return $this->redirectToRoute('vehicledocs_index');
  84.     }
  85.     /**
  86.      * Creates a form to delete a vehicleDoc entity.
  87.      *
  88.      * @param VehicleDocs $vehicleDoc The vehicleDoc entity
  89.      *
  90.      * @return \Symfony\Component\Form\Form The form
  91.      */
  92.     private function createDeleteForm(VehicleDocs $vehicleDoc)
  93.     {
  94.         return $this->createFormBuilder()
  95.             ->setAction($this->generateUrl('vehicledocs_delete', array('docId' => $vehicleDoc->getDocid())))
  96.             ->setMethod('DELETE')
  97.             ->getForm()
  98.         ;
  99.     }
  100. }