src/Controller/ResourcesCategoriesController.php line 28

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 App\Entity\ResourcesCategories;
  9. use App\Form\ResourcesCategoriesType;
  10. use OlaSoft\Common;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use App\Entity\UsersActivities;
  13. /**
  14.  * @Route("/os-admin/resources-categories")
  15.  */
  16. class ResourcesCategoriesController extends AbstractController
  17. {
  18.     
  19.     /**
  20.      * @Route("/page/{offset}/",name="resourcescategories-admin-page")
  21.      * @Route("/",name="resourcescategories-admin")
  22.      */
  23.     public function index($offset=1)
  24.     {
  25.         $request $this->get('request_stack')->getCurrentRequest();
  26.         $count 0;
  27.         $offset--;
  28.         $limit 20;
  29.         $of=$offset*$limit;
  30.         $em $this->getDoctrine()->getManager();
  31.         $list=$em->getRepository(ResourcesCategories::class)->findBy(array(),array('id'=>'DESC'));
  32.                 
  33.         $ajax $request->isXmlHttpRequest();
  34.         $response $this->render('Admin\index.html.twig',[
  35.             'list'=>$list,
  36.             'ajax'=>$ajax,
  37.             'offset'=>$offset,
  38.             'count'=>$count,
  39.             'noResearch'=>true,
  40.             "title"=>"Gestion des catégories de documents ",
  41.             "subtitle"=>"Liste des catégories"
  42.         ]);
  43.         return $ajax ?
  44.             new Response(\json_encode([
  45.                 'content'=>$response->getContent(),
  46.                 "title"=>"Gestion des catégories de documents ",
  47.                 "subtitle"=>"Liste des catégories"
  48.             ]))
  49.         : $response;
  50.     }
  51.     /**
  52.      * @Route("/add/",name="resourcescategories-new", defaults={"isEdit":false})
  53.      * @Route("/edit/{id}/",name="resourcescategories-edit")
  54.      */
  55.     public function edit(ResourcesCategories $category=null$isEdit true)
  56.     {
  57.         $em $this->getDoctrine()->getManager();
  58.         $request $this->get('request_stack')->getCurrentRequest();
  59.         if($category === null)
  60.             $category = new ResourcesCategories();
  61.         
  62.         $form=$this->createForm(ResourcesCategoriesType::class,$category);
  63.         $form->handleRequest($request);
  64.         if($form->isSubmitted()){
  65.             if($form->isValid()){
  66.                 $category->setSlug(Common::slug($category->getLabel()));
  67.                 $em->persist($category);
  68.                 $em->flush();
  69.                 if ($isEdit)
  70.                     Common::trackChange(new UsersActivities$em$category$this->getUser(), 'add'"Ajout d'une catégorie de document");
  71.                 else
  72.                     Common::trackChange(new UsersActivities$em$category$this->getUser(), 'edit'"Modification d'une catégorie de document");
  73.                 $this->addFlash("notice","Enregistrement effectué avec succès");
  74.                 return $this->redirectToRoute("resourcescategories-admin");
  75.             }
  76.         }
  77.         $ajax $request->isXmlHttpRequest();
  78.         $response $this->render('Admin\edit.html.twig',[
  79.             'form'=>$form->createView(),
  80.             'ajax'=>$ajax,
  81.             "title"=>"Gestion des catégories de documents ",
  82.             "subtitle"=>"Edition d'une catégorie"
  83.         ]);
  84.         return $ajax ?
  85.             new Response(\json_encode([
  86.                 'content'=>$response->getContent(),
  87.                 "title"=>"Gestion des catégories de documents ",
  88.                 "subtitle"=>"Edition d'une catégorie"
  89.             ]))
  90.         : $response;
  91.     }
  92. }