query->get('usage'); // On s'assure que le widget existe $pagewidget = $em->getRepository("App\Entity\Pagewidget")->find($idwidget); if (!$pagewidget) { throw $this->createNotFoundException('Unable to find entity.'); } // Vérifier que l'on peut générer un pagewidgetslide if ('all' == $access) { if (!$em->getRepository("App\Entity\Pagewidget")->getCanadd($this->getUser(), $pagewidget, $usage)) { throw $this->createAccessDeniedException('Permission denied'); } } // Recherche des pagewidgetslides du widget $datas = $em->getRepository($this->labelentity)->findBy(['pagewidget' => $pagewidget], ['roworder' => 'ASC', 'title' => 'ASC']); return $this->render($this->twig.'list.html.twig', [ 'useheader' => ('admin' == $access), 'usemenu' => ('admin' == $access), 'usesidebar' => ('admin' == $access), 'maxsize' => ('all' == $access ? 1200 : null), 'access' => $access, 'pagewidget' => $pagewidget, 'usage' => $usage, $this->data.'s' => $datas, ]); } public function submit($idwidget, $access, Request $request, ManagerRegistry $em): Response { $usage = $request->query->get('usage'); // Initialisation de l'enregistrement $data = new Pagewidgetslide(); $data->setRoworder(0); // On s'assure que le widget existe $pagewidget = $em->getRepository("App\Entity\Pagewidget")->find($idwidget); if (!$pagewidget) { throw $this->createNotFoundException('Unable to find entity.'); } // Vérifier que l'on peut générer un pagewidgetslide if ('all' == $access) { if (!$em->getRepository("App\Entity\Pagewidget")->getCanadd($this->getUser(), $pagewidget, $usage)) { throw $this->createAccessDeniedException('Permission denied'); } } // Création du formulaire $form = $this->createForm(PagewidgetslideType::class, $data, ['mode' => 'submit']); // Récupération des data du formulaire $form->handleRequest($request); // Sur validation if ($form->get('submit')->isClicked() && $form->isValid()) { $data = $form->getData(); if ($data->getImage()) { $data->setPagewidget($pagewidget); // Sauvegarde $em->getManager()->persist($data); $em->getManager()->flush(); // Retour à la page return $this->redirect($this->generateUrl('app_'.$access.'_pagewidgetslide_list', ['idwidget' => $idwidget, 'usage' => $usage])); } } return $this->render($this->twig.'edit.html.twig', [ 'useheader' => ('admin' == $access), 'usemenu' => ('admin' == $access), 'usesidebar' => ('admin' == $access), 'maxsize' => ('all' == $access ? 1200 : null), 'entity' => $data, 'mode' => 'submit', 'access' => $access, 'pagewidget' => $pagewidget, 'usage' => $usage, 'form' => $form->createView(), ]); } public function update($id, $idwidget, $access, Request $request, ManagerRegistry $em): Response { $usage = $request->query->get('usage'); // Récupération de l'enregistrement courant $data = $em->getRepository("App\Entity\Pagewidgetslide")->find($id); if (!$data) { throw $this->createNotFoundException('Unable to find entity.'); } // On s'assure que le widget existe $pagewidget = $em->getRepository("App\Entity\Pagewidget")->find($idwidget); if (!$pagewidget) { throw $this->createNotFoundException('Unable to find entity.'); } // Vérifier que l'on peut générer un pagewidgetslide if ('all' == $access) { if (!$em->getRepository("App\Entity\Pagewidget")->getCanadd($this->getUser(), $pagewidget, $usage)) { throw $this->createAccessDeniedException('Permission denied'); } } // Création du formulaire $form = $this->createForm(PagewidgetslideType::class, $data, ['mode' => 'update']); // Récupération des data du formulaire $form->handleRequest($request); // Sur validation if ($form->get('submit')->isClicked() && $form->isValid()) { $data = $form->getData(); if ($data->getImage()) { // Sauvegarde $em->getManager()->flush(); // Retour à la page return $this->redirect($this->generateUrl('app_'.$access.'_pagewidgetslide_list', ['idwidget' => $idwidget, 'usage' => $usage])); } } // Affichage du formulaire return $this->render($this->twig.'edit.html.twig', [ 'useheader' => ('admin' == $access), 'usemenu' => ('admin' == $access), 'usesidebar' => ('admin' == $access), 'maxsize' => ('all' == $access ? 1200 : null), 'entity' => $data, 'mode' => 'update', 'access' => $access, 'pagewidget' => $pagewidget, 'usage' => $usage, 'form' => $form->createView(), ]); } public function delete($id, $idwidget, $access, Request $request, ManagerRegistry $em): Response { $usage = $request->query->get('usage'); // Récupération de l'enregistrement courant $data = $em->getRepository("App\Entity\Pagewidgetslide")->find($id); if (!$data) { throw $this->createNotFoundException('Unable to find entity.'); } // On s'assure que le widget existe $pagewidget = $em->getRepository("App\Entity\Pagewidget")->find($idwidget); if (!$pagewidget) { throw $this->createNotFoundException('Unable to find entity.'); } // Vérifier que l'on peut générer un pagewidgetslide if ('all' == $access) { if (!$em->getRepository("App\Entity\Pagewidget")->getCanadd($this->getUser(), $pagewidget, $usage)) { throw $this->createAccessDeniedException('Permission denied'); } } // Tentative de suppression try { $em->getManager()->remove($data); $em->getManager()->flush(); } catch (\Exception $e) { $request->getSession()->getFlashBag()->add('error', $e->getMessage()); throw $this->createAccessDeniedException('Permission denied'); } // Retour à la list return $this->redirect($this->generateUrl('app_'.$access.'_pagewidgetslide_list', ['idwidget' => $idwidget, 'usage' => $usage])); } public function upload($idwidget, $access, Request $request, ManagerRegistry $em): Response { $usage = $request->query->get('usage'); // On s'assure que le widget existe $pagewidget = $em->getRepository("App\Entity\Pagewidget")->find($idwidget); if (!$pagewidget) { throw $this->createNotFoundException('Unable to find entity.'); } // Vérifier que l'on peut générer un pagewidgetslide if ('all' == $access) { if (!$em->getRepository("App\Entity\Pagewidget")->getCanadd($this->getUser(), $pagewidget, $usage)) { throw $this->createAccessDeniedException('Permission denied'); } } return $this->render($this->twig.'upload.html.twig', [ 'useheader' => false, 'usemenu' => false, 'usesidebar' => false, 'pagewidget' => $pagewidget, ]); } }