src/Controller/MarketPlace/ErreurPublicationArticleMarketPlaceController.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\Controller\MarketPlace;
  3. use App\Entity\Articles\Article;
  4. use App\Entity\MarketPlace\ErreurPublicationArticleMarketPlace;
  5. use App\Form\MarketPlace\ProfilType;
  6. use App\Library\Datatable\Util\Datatable;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. use Symfony\Component\Validator\Validator\ValidatorInterface;
  14. use Symfony\Contracts\Translation\TranslatorInterface;
  15. //use DTC\ArticlesBundle\Form\SupprimerMarketPlaceType;
  16. class ErreurPublicationArticleMarketPlaceController extends AbstractController
  17. {
  18.     /**
  19.      * @Route("/marketplace/erreurs/multiple", name="dtc_erreur_article_market_place_changer_statut_multiple")
  20.      */
  21.     public function changeStatutMultipleAction(Request $request$dataId = [], $parameters = [], EntityManagerInterface $em)
  22.     {
  23.         if (count($dataId) > 0) {
  24.             $ids $dataId;
  25.         } else {
  26.             $data $request->get('dataTables');
  27.             $ids  $data['actions'];
  28.         }
  29.         for ($i 0$i count($ids); $i++) {
  30.             $repo                                $em->getRepository(ErreurPublicationArticleMarketPlace::class);
  31.             $erreurPublicationArticleMarketPlace $repo->find($ids[$i]);
  32.             if (is_object($erreurPublicationArticleMarketPlace)) {
  33.                 $erreurPublicationArticleMarketPlace->setVerifie(1);
  34.                 $em->persist($erreurPublicationArticleMarketPlace);
  35.             }
  36.         }
  37.         $em->flush();
  38.         $url $this->generateUrl('dtcfo_homepage');
  39.         return new JsonResponse(['url' => $url'valide' => '1']);
  40.     }
  41.     /**
  42.      * @Route("/marketplace/erreurs/afficher/{id}", name="dtc_erreur_article_market_place_afficher")
  43.      */
  44.     public function afficherAction(Request $requestErreurPublicationArticleMarketPlace $erreurPublicationArticleMarketPlace)
  45.     {
  46.         $response = new Response($erreurPublicationArticleMarketPlace->getLogs());
  47.         //$response->headers->set('Content-Type', 'application/xml; charset=utf-8');
  48.         $response->headers->add(['Content-Type' => 'application/xml']);
  49.         return $response;
  50.         return $this->render('MarketPlace/ErreurPublicationArticleMarketPlace/afficher.html.twig', ['erreurPublicationArticleMarketPlace' => $erreurPublicationArticleMarketPlace]);
  51.     }
  52.     /**
  53.      * @Route("", name="")
  54.      */
  55.     public function listerAction(Request $request$id$type ""EntityManagerInterface $emDatatable $datatable)
  56.     {
  57.         $repo_objet $em->getRepository(Article::class);
  58.         $objet      $repo_objet->find($id);
  59.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [0], "visible" => true"orderable" => true"searchable" => true];
  60.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [1], "visible" => true"orderable" => true"searchable" => true];
  61.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [2], "visible" => true"orderable" => true"searchable" => true];
  62.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [3], "visible" => true"orderable" => true"searchable" => true];
  63.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [4], "visible" => true"orderable" => true"searchable" => true];
  64.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [5], "visible" => true"orderable" => true"searchable" => true];
  65.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [6], "visible" => true"orderable" => true"searchable" => true];
  66.         $tableau_class_cellule[] = ["orderable" => false"className" => "colonne_id""targets" => [7], "visible" => true];
  67.         $tableau_class_cellule = [];
  68.         $this->datatable($datatable$objet);
  69.         return $this->render('MarketPlace/ErreurPublicationArticleMarketPlace/lister.html.twig', ['tableauClassColonne' => $tableau_class_cellule"id" => $id]);
  70.     }
  71.     /**
  72.      * @Route("", name="")
  73.      */
  74.     public function listerDashboardAction(Request $requestDatatable $datatable)
  75.     {
  76.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [0], "visible" => true"orderable" => false"searchable" => false];
  77.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [1], "visible" => true"orderable" => true"searchable" => true];
  78.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [2], "visible" => true"orderable" => true"searchable" => true];
  79.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [3], "visible" => true"orderable" => true"searchable" => true];
  80.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [4], "visible" => true"orderable" => true"searchable" => true];
  81.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [5], "visible" => true"orderable" => false"searchable" => false];
  82.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [6], "visible" => true"orderable" => false"searchable" => false];
  83.         //$tableau_class_cellule = array();
  84.         $this->datatableDashboard($datatable);
  85.         return $this->render('MarketPlace/ErreurPublicationArticleMarketPlace/lister_dashboard.html.twig', ['tableauClassColonne' => $tableau_class_cellule]);
  86.     }
  87.     /**
  88.      * set datatable configs
  89.      *
  90.      * @return \App\Library\Datatable\Util\Datatable
  91.      */
  92.     private function datatableDashboard(Datatable $datatable)
  93.     {
  94.         $parametres = ["verifie" => "0"];
  95.         $where      "x.verifie = :verifie";
  96.         $datatable->setDatatableId('dta-erreur')
  97.                   ->setEntity(ErreurPublicationArticleMarketPlace::class, "x")
  98.                   ->setFields(
  99.                       [
  100.                           //"ID"    => 'x.id',
  101.                           "Id"           => 'x.id',
  102.                           "Date"         => 'x.date',
  103.                           "Libelle"      => 'x.id',
  104.                           "Market place" => 'cmp.libelle',
  105.                           "Vérifié"      => 'x.verifie',
  106.                           "Actions"      => 'x.id',
  107.                           "_identifier_" => 'x.id',
  108.                       ]
  109.                   )
  110.                   ->addJoin('x.articleMarketPlace''amp'\Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  111.                   ->addJoin('amp.compteMarketPlace''cmp'\Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  112.                   ->setWhere(
  113.                       $where,
  114.                       $parametres
  115.                   )
  116.                   ->setRenderers(
  117.                       [
  118.                           => [
  119.                               'view'   => 'FO/DataTable/heure.html.twig',
  120.                               'params' => [],
  121.                           ],
  122.                           => [
  123.                               'view'   => 'FO/DataTable/libelle_erreur_market_place.html.twig',
  124.                               'params' => [],
  125.                           ],
  126.                           => [
  127.                               'view'   => 'FO/DataTable/erreur_market_place_statut.html.twig',
  128.                               'params' => [
  129.                                   'edit_route' => 'dtc_erreur_article_market_place_changer_statut',
  130.                                   //'compteMarketPlaceId' => 5
  131.                               ],
  132.                           ],
  133.                           => [
  134.                               'view'   => 'FO/DataTable/actions_erreurs_market_place.html.twig',
  135.                               'params' => [
  136.                                   'edit_route' => 'dtc_erreur_article_market_place_changer_statut_multiple',
  137.                                   //'supprimer_route'  => 'dtc_adresse_supprimer',
  138.                               ],
  139.                           ],
  140.                       ]
  141.                   )
  142.                   ->setMultiple(
  143.                       [
  144.                           'delete' => [
  145.                               'title' => 'Marqué comme vu',
  146.                               'route' => 'dtc_erreur_article_market_place_changer_statut_multiple',
  147.                           ],
  148.                       ]
  149.                   )
  150.                   ->setOrder("x.id""desc")
  151.                   ->setSearch(true)
  152.                   ->setSearchFields([23]);
  153.         return $datatable;
  154.     }
  155.     /**
  156.      * set datatable configs
  157.      *
  158.      * @return \App\Library\Datatable\Util\Datatable
  159.      */
  160.     private function datatable(Datatable $datatable$objet$type "article")
  161.     {
  162.         $type_jointure 'x.'.$type;
  163.         $datatable->setDatatableId('dta-erreur')
  164.                   ->setEntity(ErreurPublicationArticleMarketPlace::class, "x")
  165.                   ->setFields(
  166.                       [
  167.                           //"ID"    => 'x.id',
  168.                           "Id"           => 'x.id',
  169.                           "Date"         => 'x.date',
  170.                           "Vérifié"      => 'x.verifie',
  171.                           "Actions"      => 'x.id',
  172.                           "_identifier_" => 'x.id',
  173.                       ]
  174.                   )
  175.             //->addJoin('x.ville', 'v', \Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  176.                   ->setWhere(
  177.                 $type_jointure.' = :objet',
  178.                 ['objet' => $objet]
  179.             )
  180.                   ->setRenderers(
  181.                       [
  182.                           => [
  183.                               'view'   => 'FO/DataTable/heure.html.twig',
  184.                               'params' => [],
  185.                           ],
  186.                           => [
  187.                               'view'   => 'FO/DataTable/booleen.html.twig',
  188.                               'params' => [],
  189.                           ],
  190.                           => [
  191.                               'view'   => 'FO/DataTable/actions.html.twig',
  192.                               'params' => [
  193.                                   'edit_route' => 'dtc_erreur_article_market_place_afficher',
  194.                                   //'supprimer_route'  => 'dtc_adresse_supprimer',
  195.                                   'target'     => "_blank",
  196.                                   'id'         => $objet->getId(),
  197.                                   'type'       => "",
  198.                                   'entite'     => 'ErreurPublicationArticleMarketPlace',
  199.                                   'objet'      => ErreurPublicationArticleMarketPlace::class,
  200.                               ],
  201.                           ],
  202.                       ]
  203.                   )
  204.                   ->setOrder("x.id""desc")
  205.                   ->setSearch(true)
  206.                   ->setSearchFields([1]);
  207.         return $datatable;
  208.     }
  209.     /**
  210.      * Grid action
  211.      * @return Response
  212.      */
  213.     /**
  214.      * @Route("/marketplace/erreurs/dashboard/grid", name="dtc_erreur_article_market_place_liste_dashboard_grid")
  215.      */
  216.     public function gridDashboardAction(Request $requestDatatable $datatable)
  217.     {
  218.         return $this->datatableDashboard($datatable)->execute();
  219.     }
  220.     /**
  221.      * Grid action
  222.      * @return Response
  223.      */
  224.     /**
  225.      * @Route("/marketplace/erreurs/grid/{id}", name="dtc_erreur_article_market_place_liste_grid")
  226.      */
  227.     public function gridAction(Request $request$id ""EntityManagerInterface $emDatatable $datatable)
  228.     {
  229.         $repo_objet $em->getRepository(Article::class);
  230.         $objet      $repo_objet->find($id);
  231.         return $this->datatable($datatable$objet)->execute();
  232.     }
  233.     /**
  234.      * Grid action
  235.      * @return Response
  236.      */
  237.     /**
  238.      * @Route("/marketplace/erreurs/annonces/grid", name="dtc_erreur_article_market_place_annonces_liste_grid")
  239.      */
  240.     public function gridErreursAction(Request $requestDatatable $datatable)
  241.     {
  242.         return $this->datatableErreurs($datatable)->execute();
  243.     }
  244.     /**
  245.      * @Route("/marketplace/erreurs/annonces/{page}", name="dtc_erreur_article_market_place_annonces_liste", defaults={"page":1})
  246.      */
  247.     public function listerErreursAction(Request $requestDatatable $datatable)
  248.     {
  249.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [0], "visible" => true"orderable" => true"searchable" => true];
  250.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [1], "visible" => true"orderable" => true"searchable" => true];
  251.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [2], "visible" => true"orderable" => true"searchable" => true];
  252.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [3], "visible" => true"orderable" => true"searchable" => true];
  253.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [4], "visible" => true"orderable" => true"searchable" => true];
  254.         $tableau_class_cellule[] = ["orderable" => false"className" => "colonne_id""targets" => [5], "visible" => true];
  255.         //$tableau_class_cellule = array();
  256.         $this->datatableErreurs($datatable);
  257.         return $this->render('MarketPlace/ErreurPublicationArticleMarketPlace/lister_erreurs.html.twig', ['tableauClassColonne' => $tableau_class_cellule]);
  258.     }
  259.     /**
  260.      * set datatable configs
  261.      *
  262.      * @return \App\Library\Datatable\Util\Datatable
  263.      */
  264.     private function datatableErreurs(Datatable $datatable)
  265.     {
  266.         $datatable->setDatatableId('dta-erreur')
  267.                   ->setEntity(ErreurPublicationArticleMarketPlace::class, "x")
  268.                   ->setFields(
  269.                       [
  270.                           //"ID"    => 'x.id',
  271.                           "Id"              => 'x.id',
  272.                           "Date"            => 'x.date',
  273.                           "Libelle"         => 'x.id',
  274.                           "Market Place"    => 'cmp.libelle',
  275.                           "Marqué comme vu" => 'x.verifie',
  276.                           "Actions"      => 'x.id',
  277.                           "_identifier_" => 'x.id',
  278.                       ]
  279.                   )
  280.                   ->addJoin('x.rapport''r'\Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  281.                   ->addJoin('r.compteMarketPlace''cmp'\Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  282.             /*
  283.             ->setWhere(
  284.                     $type_jointure.' = :objet',
  285.                     array('objet' => $objet)
  286.                )
  287.               */
  288.                   ->setRenderers(
  289.                 [
  290.                     => [
  291.                         'view'   => 'FO/DataTable/heure.html.twig',
  292.                         'params' => [],
  293.                     ],
  294.                     => [
  295.                         'view'   => 'FO/DataTable/libelle_erreur_market_place.html.twig',
  296.                         'params' => [//'edit_route'  => 'dtc_erreur_article_market_place_changer_statut',
  297.                         ],
  298.                     ],
  299.                     => [
  300.                         'view'   => 'FO/DataTable/statut.html.twig',
  301.                         'params' => [
  302.                             'edit_route' => 'dtc_erreur_article_market_place_changer_statut',
  303.                         ],
  304.                     ],
  305.                     => [
  306.                         'view'   => 'FO/DataTable/actions.html.twig',
  307.                         'params' => [
  308.                             'afficher_route' => 'dtc_erreur_article_market_place_afficher',
  309.                             //'supprimer_route'  => 'dtc_adresse_supprimer',
  310.                             'target'         => "_blank",
  311.                             //'id'    => $objet->getId(),
  312.                             'type'           => "",
  313.                             'entite'         => 'ErreurPublicationArticleMarketPlace',
  314.                             'objet'          => ErreurPublicationArticleMarketPlace::class,
  315.                         ],
  316.                     ],
  317.                 ]
  318.             )
  319.                   ->setOrder("x.id""desc")
  320.                   ->setSearch(true)
  321.                   ->setSearchFields([23]);
  322.         return $datatable;
  323.     }
  324.     /**
  325.      * @Route("/marketplace/erreurs/{id}", name="dtc_erreur_article_market_place_changer_statut")
  326.      */
  327.     public function changeStatutAction(Request $requestErreurPublicationArticleMarketPlace $erreurPublicationArticleMarketPlaceEntityManagerInterface $em)
  328.     {
  329.         if ($erreurPublicationArticleMarketPlace->getVerifie() == 1) {
  330.             $erreurPublicationArticleMarketPlace->setVerifie(0);
  331.         } else {
  332.             $erreurPublicationArticleMarketPlace->setVerifie(1);
  333.         }
  334.         $em->persist($erreurPublicationArticleMarketPlace);
  335.         $em->flush();
  336.         $headers = [
  337.             'Content-Type'                 => 'application/json',
  338.             'Access-Control-Allow-Origin'  => '*',
  339.             'Access-Control-Allow-Methods' => 'POST',
  340.         ];
  341.         return new JsonResponse(['data' => '1'], 200$headers);
  342.     }
  343. }