src/Controller/Litiges/LitigeCompletController.php line 166

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Litiges;
  3. use App\Entity\Litiges\Litige;
  4. use App\Form\Litiges\LitigeType;
  5. use App\Form\Litiges\SupprimerLitigeType;
  6. use App\Library\Datatable\Util\Datatable;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. use Symfony\Component\Validator\Validator\ValidatorInterface;
  13. use Symfony\Contracts\Translation\TranslatorInterface;
  14. class LitigeCompletController extends AbstractController
  15. {
  16.     /**
  17.      * @Route("/litige-complet", name="dtc_litige_global_liste")
  18.      */
  19.     public function listerAction(Request $requestDatatable $datatableTranslatorInterface $translator)
  20.     {
  21.         $tableau_class_cellule = [];
  22.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id text-center""targets" => [0], "visible" => true"orderable" => true"searchable" => true];
  23.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id""targets" => [1], "visible" => true"orderable" => true"searchable" => true];
  24.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id ""targets" => [2], "visible" => true"orderable" => true"searchable" => true];
  25.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id ""targets" => [3], "visible" => true"orderable" => true"searchable" => true];
  26.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id ""targets" => [4], "visible" => true"orderable" => true"searchable" => true];
  27.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id ""targets" => [5], "visible" => true"orderable" => true"searchable" => true];
  28.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id text-right""targets" => [6], "visible" => true"orderable" => true"searchable" => true];
  29.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id ""targets" => [7], "visible" => true"orderable" => true"searchable" => true];
  30.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id text-center""targets" => [8], "visible" => true"orderable" => true"searchable" => true];
  31.         $tableau_class_cellule[] = ["className" => "visible_export colonne_id text-right""targets" => [9], "visible" => true"orderable" => true"searchable" => true];
  32.         $tableau_class_cellule[] = ["orderable" => false"className" => "colonne_id""targets" => [10], "visible" => true];
  33.         $this->datatable($datatable$translator);
  34.         return $this->render('Litiges/LitigeComplet/lister.html.twig', ['tableauClassColonne' => $tableau_class_cellule]);
  35.     }
  36.     /**
  37.      * set datatable configs
  38.      *
  39.      * @return \App\Library\Datatable\Util\Datatable
  40.      */
  41.     private function datatable(Datatable $datatableTranslatorInterface $translator)
  42.     {
  43.         $type_jointure    '';
  44.         $where            "";
  45.         $parametres_where = [];
  46.         $datatable->setDatatableId('dta-litiges')
  47.                   ->setEntity(Litige::class, "x")
  48.                   ->setFields(
  49.                       [
  50.                           //$translator->trans("ID") =>  'x.id',
  51.                           $translator->trans("Date")                 => 'x.date',
  52.                           $translator->trans("Commande client")      => 'c.reference',
  53.                           $translator->trans("Client")               => 'cl.reference',
  54.                           $translator->trans("Commande fournisseur") => 'cf.reference',
  55.                           $translator->trans("Fournisseur")          => 'f.reference',
  56.                           $translator->trans("Référence")            => 'x.reference',
  57.                           $translator->trans("Montant")              => 'x.montant',
  58.                           $translator->trans("Clôturé")              => 'x.statut',
  59.                           $translator->trans("Date clôture")         => 'x.dateCloture',
  60.                           $translator->trans("Commentaire")          => 'x.commentaire',
  61.                           $translator->trans("Actions")              => 'x.id',
  62.                           "_identifier_"                             => 'x.id',
  63.                       ]
  64.                   )
  65.                   ->addJoin('x.commande''c'\Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  66.                   ->addJoin('x.client''cl'\Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  67.                   ->addJoin('x.fournisseur''f'\Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  68.                   ->addJoin('x.commandeFournisseur''cf'\Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
  69.                   ->setRenderers(
  70.                       [
  71.                           => [
  72.                               'view'   => 'FO/DataTable/date.html.twig',
  73.                               'params' => [],
  74.                           ],
  75.                           => [
  76.                               'view'   => 'FO/DataTable/avec_lien_edit_route.html.twig',
  77.                               'params' => [
  78.                                   'edit_route'   => 'dtc_commande_modifier',
  79.                                   'typeDocument' => 'commande',
  80.                               ],
  81.                           ],
  82.                           => [
  83.                               'view'   => 'FO/DataTable/avec_lien_edit_route.html.twig',
  84.                               'params' => [
  85.                                   'edit_route'   => 'dtc_client_modifier',
  86.                                   'typeDocument' => 'client',
  87.                               ],
  88.                           ],
  89.                           => [
  90.                               'view'   => 'FO/DataTable/avec_lien_edit_route.html.twig',
  91.                               'params' => [
  92.                                   'edit_route'   => 'dtc_commande_fournisseur_modifier',
  93.                                   'typeDocument' => 'commandeFournisseur',
  94.                               ],
  95.                           ],
  96.                           => [
  97.                               'view'   => 'FO/DataTable/avec_lien_edit_route.html.twig',
  98.                               'params' => [
  99.                                   'edit_route'   => 'dtc_fournisseur_modifier',
  100.                                   'typeDocument' => 'fournisseur',
  101.                               ],
  102.                           ],
  103.                           6  => [
  104.                               'view'   => 'FO/DataTable/prix.html.twig',
  105.                               'params' => [],
  106.                           ],
  107.                           7  => [
  108.                               'view'   => 'FO/DataTable/statut.html.twig',
  109.                               'params' => [
  110.                                   'edit_route' => 'dtc_litige_statut',
  111.                               ],
  112.                           ],
  113.                           8  => [
  114.                               'view'   => 'FO/DataTable/heure.html.twig',
  115.                               'params' => [
  116.                                   'edit_route' => 'dtc_litige_statut',
  117.                               ],
  118.                           ],
  119.                           10 => [
  120.                               'view'   => 'FO/DataTable/actions_litige.html.twig',
  121.                               'params' => [
  122.                                   'edit_route'      => 'dtc_litige_modifier',
  123.                                   'supprimer_route' => 'dtc_litige_supprimer',
  124.                                   'id'              => '',
  125.                                   'type'            => '',
  126.                                   'entite'          => 'adresse',
  127.                                   'objet'           => Litige::class,
  128.                                   'table'           => "dta-litiges",
  129.                                   'deplier_litige'  => true,
  130.                               ],
  131.                           ],
  132.                       ]
  133.                   )
  134.                   ->setOrder("x.statut asc,x.date""asc")
  135.                   ->setSearch(true)
  136.                   ->setSearchFields([1234]);
  137.         if ($where != "") {
  138.             $datatable->setWhere($where$parametres_where);
  139.         }
  140.         return $datatable;
  141.     }
  142.     /**
  143.      * @Route("/litige-complet/grid/", name="dtc_litige_global_liste_grid")
  144.      */
  145.     public function gridAction(Request $request$id ""$type ""Datatable $datatableTranslatorInterface $translator)
  146.     {
  147.         return $this->datatable($datatable$translator)->execute();
  148.     }
  149. }