src/Controller/Backend/DirectorController.php line 51

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Backend;
  3. use App\Entity\Director;
  4. use App\Services\Helper;
  5. use Exception;
  6. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class DirectorController extends AbstractController
  12. {
  13.     /**
  14.      * @Route("/{_locale}/dashboard/director/list")
  15.      */
  16.     public function listDirectorAction(Request $request){
  17.         $em $this->getDoctrine()->getManager();
  18.         $directors $em->getRepository(Director::class)->findBy(['deleted' => 0]);
  19.         return $this->render('/backend/directors/list.html.twig',[
  20.             'directors' => $directors
  21.         ]);
  22.     }
  23.     /**
  24.      * @Route("/{_locale}/dashboard/director/edit/{idDirector}")
  25.      * @Route("/{_locale}/dashboard/director/add", defaults={"idDirector":null})
  26.      */
  27.     public function editDirectorAction(Request $requestHelper $helper){
  28.         $em $this->getDoctrine()->getManager();
  29.         $idDirector $helper->sanitize($request->get('idDirector'));
  30.         $director $em->getRepository(Director::class)->findOneBy(['idDirector' => $idDirector]);
  31.         if(!$director){
  32.             $director = new Director();
  33.         }
  34.         return $this->render('backend/directors/edit.html.twig',[
  35.             'director' => $director
  36.         ]);
  37.     }
  38.     /**
  39.      * @Route("/{_locale}/dashboard/director/save")
  40.      */
  41.     public function directorSaveAction(Request $requestHelper $helper){
  42.         $em $this->getDoctrine()->getManager();
  43.         $response = new JsonResponse();
  44.         try{
  45.             $idDirector $helper->sanitize($request->request->get('idDirector'));
  46.             $name $helper->sanitize($request->request->get('name'));
  47.             if (!$name)
  48.                 throw new Exception('Name not valid'); 
  49.             $director $em->getRepository(Director::class)->findOneBy(['idDirector' => $idDirector]);
  50.             if(!$director){
  51.                 $director = new Director();
  52.             }
  53.             $director->setName($name);
  54.             $director->setDeleted(0);
  55.             $em->persist($director);
  56.             $em->flush();
  57.             $response->setStatusCode(200);
  58.             $response->setData(array(
  59.                 'response' => 'success',
  60.                 'msg' => 'Action performed successfully',
  61.                 'idDirector' => $director->getIdDirector()
  62.             ));
  63.             return $response;
  64.         } catch(Exception $e){
  65.             $response->setStatusCode(500);
  66.             $response->setData(array(
  67.                 'response' => 'error',
  68.                 'msg' => 'Something has gone wrong'
  69.             ));
  70.             return $response;
  71.         }
  72.     }
  73.     /**
  74.      * @Route("/{_locale}/dashboard/director/delete")
  75.      */
  76.     public function directorDeleteAction(Request $requestHelper $helper){
  77.         $em $this->getDoctrine()->getManager();
  78.         $response = new JsonResponse();
  79.         try{
  80.             $idDirector $helper->sanitize($request->request->get('idDirector'));
  81.             $director $em->getRepository(Director::class)->findOneBy(['idDirector' => $idDirector]);
  82.             $director->setDeleted(1);
  83.             $em->persist($director);
  84.             $em->flush();
  85.             $response->setStatusCode(200);
  86.             $response->setData(array(
  87.                 'response' => 'success',
  88.                 'msg' => 'Action performed successfully'
  89.             ));
  90.             return $response;
  91.         } catch(Exception $e){
  92.             $response->setStatusCode(500);
  93.             $response->setData(array(
  94.                 'response' => 'error',
  95.                 'msg' => 'Something has gone wrong'
  96.             ));
  97.             return $response;
  98.         }
  99.     }
  100. }