src/Controller/ServicesController.php line 37
<?phpnamespace App\Controller;use Symfony\Component\Routing\Annotation\Method;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\Routing\Annotation\Route;use Symfony\Component\Routing\Annotation\Security;use Symfony\Component\HttpFoundation\Request;use Doctrine\Persistence\ManagerRegistry;use Symfony\Component\HttpFoundation\Response;use Doctrine\ORM\EntityManagerInterface;use App\Entity\Services;use App\Form\ServicesType;use App\Repository\ServicesRepository;use OlaSoft\Common;/*** @Route("/os-admin/services", name="services-")*/class ServicesController extends AbstractController{public function __construct(ManagerRegistry $doctrine){$this->doctrine = $doctrine;}private $doctrine;public function getDoctrine(){return $this->doctrine;}/*** @Route("/",name="admin")*/public function indexAction(Request $request){$em = $this->getDoctrine()->getManager();$list = $em->getRepository(Services::class)->findBy(array(),array('id'=>'DESC'));$ajax = $request->isXmlHttpRequest();$response = $this->render('Admin\index.html.twig',['list'=>$list,'ajax'=>$ajax,'noResearch'=>true,"title"=> "Gestion des services","subtitle"=> "Liste des services"]);return $ajax ?new Response(\json_encode(['content'=>$response->getContent(),"title"=> "Gestion des services","subtitle"=> "Liste des services"])): $response;}/*** @Route("/add", name="new")* @Route("/{id}/edit", name="edit")*/public function edit(Request $request, Services $item = null){if(!$item)$item = new Services;$em = $this->getDoctrine()->getManager();$form = $this->createForm(ServicesType::class, $item);$form->handleRequest($request);if ($form->isSubmitted() && $form->isValid()){$item->setSlug(Common::slug($item->getTitle()));$em->persist($item);$em->flush();Common::trackChange($em, $item, $this->getUser(), 'add', "Édition d'un service");$this->addFlash("notice","Enregistrement effectué avec succès.");return $this->redirectToRoute('services-admin');}$ajax = $request->isXmlHttpRequest();$response = $this->render('Admin\edit.html.twig',['form'=>$form->createView(),'ajax'=>$ajax,"title"=> "Gestion des services","subtitle"=>"Edition d'un service "]);return $ajax ?new Response(\json_encode(['content'=>$response->getContent(),"title"=> "Gestion des services","subtitle"=>"Edition d'un service "])): $response;}/*** @Route("/{id}/enable/", name="enable")*/public function enable(Request $request, Services $item){$em = $this->getDoctrine()->getManager();$item->setIsEnabled(!$item->getIsEnabled());$em->persist($item);$em->flush();Common::trackChange($em, $item, $this->getUser(), $item->getIsEnabled() ? 'enable':'disable', "Activation / Désactivation d'un service");$ajax = $request->isXmlHttpRequest();if(!$ajax)$this->addFlash("notice","Activation / Désactivation effectuée avec succès.");return $ajax? new Response(\json_encode(['status'=>$item->getIsEnabled(), 'notice'=>'Activation / Désactivation effectuée avec succès.'])): $this->redirectToRoute('services-admin');}}