src/Controller/Remises/RemiseCategorieArticleController.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Remises;
  3. use App\Entity\Articles\Categorie;
  4. use App\Entity\Remises\Remise;
  5. use App\Entity\Remises\RemiseCategorieArticle;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class RemiseCategorieArticleController extends AbstractController
  13. {
  14.     /**
  15.      * @Route("/remise/checkbox/categorie/article", name="dtc_remise_categorie_article_checkbox")
  16.      */
  17.     public function listerCategorieArticleCheckboxAction(Request $request$remise = [], EntityManagerInterface $em)
  18.     {
  19.         $id                            '';
  20.         $repo_article                  $em->getRepository(Remise::class);
  21.         $repo_categorie                $em->getRepository(Categorie::class);
  22.         $repo_remise_article_categorie $em->getRepository(RemiseCategorieArticle::class);
  23.         $id                            $request->query->get('id');
  24.         $url                           $this->generateUrl('dtc_remise_categorie_article_checkbox', []);
  25.         if ($request->query->get('remise') != '') {
  26.             $remise $repo_article->find($request->query->get('remise'));
  27.         }
  28.         $categories $repo_categorie->getCategorieEnfant($id);
  29.         $tabCategories = [];
  30.         foreach ($categories as $c) {
  31.             $c['checked']            = 0;
  32.             $c['totalSousCategorie'] = count($repo_categorie->findBy(["categorieParent" => $c]));
  33.             $c['selection']          = 0;
  34.             if (is_object($remise) and is_object($repo_remise_article_categorie->findOneBy(['remise' => $remise'categorie' => $c]))) {
  35.                 $c['checked'] = 1;
  36.             }
  37.             $tabCategories[] = $c;
  38.         }
  39.         $categories $tabCategories;
  40.         if ($request->isXmlHttpRequest()) {
  41.             $rendu $this->renderView('Articles/Categorie/checkbox.html.twig', ['categories' => $categories'article' => $remise'url' => $url'objet' => 'remise']);
  42.             return new JsonResponse(['rendu' => $rendu]);
  43.         }
  44.         return $this->render('Articles/Categorie/checkbox.html.twig', ['categories' => $categories'article' => $remise'url' => $url'objet' => 'remise']);
  45.     }
  46. }