src/Controller/ResourcesController.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Component\Routing\Annotation\Method;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\Routing\Annotation\Security;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use App\Entity\Resources;
  11. use App\Form\ResourcesType;
  12. use App\Repository\ResourcesRepository;
  13. /**
  14.  * @Route("/os-admin/resources", name="resources-")
  15.  */
  16. class ResourcesController extends AbstractController
  17. {
  18.     /**
  19.      * @Route("/",name="admin")
  20.      */
  21.     public function indexAction()
  22.     {
  23.         $request $this->get('request_stack')->getCurrentRequest();
  24.         $em $this->getDoctrine()->getManager();
  25.         $list $em->getRepository(Resources::class)->findBy(array(),array('date'=>'DESC','id'=>'DESC'));
  26.         $ajax $request->isXmlHttpRequest();
  27.         $response $this->render('Admin\index.html.twig',[
  28.             'list'=>$list,
  29.             'ajax'=>$ajax,
  30.             'noResearch'=>true,
  31.             "title"=> "Gestion des ressources",
  32.             "subtitle"=> "Liste des ressources"
  33.         ]);
  34.         return $ajax ?
  35.             new Response(\json_encode([
  36.                 'content'=>$response->getContent(),
  37.                 "title"=> "Gestion des ressources",
  38.                 "subtitle"=> "Liste des ressources"
  39.             ]))
  40.         : $response;
  41.     }
  42.     /**
  43.      * @Route("/add", name="new")
  44.      * @Route("/{id}/edit", name="edit")
  45.      */
  46.     public function edit(Resources $struct null)
  47.     {
  48.         if(!$struct)
  49.             $struct = new Resources;
  50.         $em $this->getDoctrine()->getManager();
  51.         $request $this->get('request_stack')->getCurrentRequest();
  52.         $form $this->createForm(ResourcesType::class, $struct);
  53.         $form->handleRequest($request);
  54.         if ($form->isSubmitted() && $form->isValid()){
  55.             //$struct->getDocument()->setName($struct->getTitle());
  56.             $em->persist($struct);
  57.             $em->flush();
  58.             $this->addFlash("notice","Enregistrement effectué avec succès.");
  59.             return $this->redirectToRoute('resources-admin');
  60.         }
  61.         $ajax $request->isXmlHttpRequest();
  62.         $response $this->render('Admin\edit.html.twig',[
  63.             'form'=>$form->createView(),
  64.             'ajax'=>$ajax,
  65.             "title"=> "Gestion des ressources",
  66.             "subtitle"=>"Edition d'une ressource "
  67.         ]);
  68.         return $ajax ?
  69.             new Response(\json_encode([
  70.                 'content'=>$response->getContent(),
  71.                 "title"=> "Gestion des ressources",
  72.                 "subtitle"=>"Edition d'une ressource "
  73.             ]))
  74.         : $response;
  75.      }
  76.     /**
  77.      * @Route("/{id}/enable/", name="enable")
  78.      */
  79.     public function enable(Resources $struct)
  80.     {
  81.         $request $this->get('request_stack')->getCurrentRequest();
  82.         $em $this->getDoctrine()->getManager();
  83.         $struct->setIsEnabled(!$struct->getIsEnabled());
  84.         $em->persist($struct);
  85.         $em->flush();
  86.         $ajax $request->isXmlHttpRequest();
  87.         if(!$ajax)
  88.             $this->addFlash("notice","Activation / Désactivation effectuée avec succès.");
  89.         return $ajax
  90.             ? new Response(\json_encode(['status'=>$struct->getIsEnabled(), 'notice'=>'Activation / Désactivation effectuée avec succès.']))
  91.             : $this->redirectToRoute('resources-admin');
  92.     }
  93. }