src/Controller/TypeUsageController.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\TypeUsage;
  4. use Symfony\Component\Routing\Annotation\Route;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  8. use Symfony\Contracts\Translation\TranslatorInterface;
  9. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  10. use App\Form\TypeUsageForm;
  11. class TypeUsageController  extends AbstractController
  12. {
  13.     /**
  14.      * @Route("/settings/types/usage", name="type_usage")
  15.      */
  16.     public function indexAction(Request $requestTranslatorInterface $translator)
  17.     {
  18.         $user $this->getUser();
  19.         $typeUsage = new TypeUsage();
  20.         $errors = [];
  21.         $form $this->createForm(TypeUsageForm::class, $typeUsage);
  22.         $form->handleRequest($request);
  23.         if ($form->isSubmitted() && $user->hasRole("ROLE_SUPER_ADMIN")) {
  24.             if($form->isValid()){
  25.                 $typeUsage $form->getData();
  26.                 $em $this->getDoctrine()->getManager();
  27.                 $em->persist($typeUsage);
  28.                 $em->flush();
  29.                 return $this->redirectToRoute('type_usage');
  30.             }
  31.             $validator $this->get('validator');
  32.             $errors $validator->validate($typeUsage);
  33.         }
  34.         $list $this->getDoctrine()->getRepository(TypeUsage::class)->findAll();
  35.         return $this->render('types/default.html.twig', [
  36.             'action' => 'insert',
  37.             'page_title' => $translator->trans('Usage Type'),
  38.             'box_title' => '<i class="fa fa-plus-circle fa-fw"></i> '.$translator->trans('Add new'),
  39.             'path_default' => 'type_usage',
  40.             'path_update' => 'type_usage_update',
  41.             'path_delete' => 'type_usage_delete',
  42.             'form' => $form->createView(),
  43.             'list' => $list,
  44.             'errors' => $errors
  45.         ]);
  46.     }
  47.     /**
  48.      * @Route("/settings/types/usage/edit/{id}", name="type_usage_update")
  49.      */
  50.     public function updateAction(Request $requestTypeUsage $typeUsageTranslatorInterface $translator)
  51.   {
  52.         $user $this->getUser();
  53.         $errors = [];
  54.         $form $this->createForm(TypeUsageForm::class, $typeUsage);
  55.         $form->handleRequest($request);
  56.         if ($form->isSubmitted() && $user->hasRole("ROLE_SUPER_ADMIN")) {
  57.             if($form->isValid()){
  58.                 $this->getDoctrine()->getManager()->flush();
  59.                 return $this->redirectToRoute('type_usage');
  60.             }
  61.             $validator $this->get('validator');
  62.             $errors $validator->validate($typeUsage);
  63.             $this->getDoctrine()->getManager()->detach($typeUsage);
  64.         }
  65.         $list $this->getDoctrine()->getRepository(TypeUsage::class)->findAll();
  66.         return $this->render('types/default.html.twig', [
  67.             'action' => 'update',
  68.             'page_title' => $translator->trans('Usage Type'),
  69.             'box_title' => '<i class="fa fa-edit fa-fw"></i> '.$translator->trans('Edit'),
  70.             'path_default' => 'type_usage',
  71.             'path_update' => 'type_usage_update',
  72.             'path_delete' => 'type_usage_delete',
  73.             'form' => $form->createView(),
  74.             'list' => $list,
  75.             'errors' => $errors
  76.         ]);
  77.     }
  78.     /**
  79.      * @IsGranted("ROLE_SUPER_ADMIN")
  80.      * @Route("/settings/types/usage/delete/{id}", name="type_usage_delete")
  81.      */
  82.     public function deleteAction($idTranslatorInterface $translator)
  83.     {
  84.         $em $this->getDoctrine()->getManager();
  85.         $typeUsage $em->getRepository(TypeUsage::class)->find($id);
  86.         $msgError null;
  87.         try {
  88.           $em->remove($typeUsage);
  89.           $em->flush();
  90.         } catch (\Exception $e) {
  91.           $msgError $translator->trans('deleteError');
  92.         }
  93.         return $this->redirectToRoute('type_usage', array("msgError"=>$msgError));
  94.     }
  95. }