<?php
namespace App\Controller\MarketPlace;
use App\Entity\MarketPlace\ArticleMarketPlace;
use App\Entity\MarketPlace\TarifModeLivraison;
use App\Form\MarketPlace\ProfilType;
use App\Library\Datatable\Util\Datatable;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
//use DTC\ArticlesBundle\Form\SupprimerMarketPlaceType;
class TarifModeLivraisonController extends AbstractController
{
/**
* @Route("/tarif-mode-livraison/{id}/{type}", name="dtc_tarif_mode_livraison_liste")
*/
public function listerAction(Request $request, $id, $type = "", $objet = "", EntityManagerInterface $em, Datatable $datatable, TranslatorInterface $translator)
{
if ($type == 'articleMarketPlace') {
$em = $em;
$repo_objet = $em->getRepository(ArticleMarketPlace::class);
$objet = $repo_objet->find($id);
}
$tableau_class_cellule[] = ["className" => "visible_export colonne_id", "targets" => [0], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = ["className" => "visible_export colonne_id", "targets" => [1], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = ["className" => "visible_export colonne_id text-right", "targets" => [2], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = ["className" => "visible_export colonne_id text-right", "targets" => [3], "visible" => true, "orderable" => true, "searchable" => true];
$this->datatable($datatable, $translator, $objet, $type);
return $this->render('MarketPlace/TarifModeLivraison/lister.html.twig', ['tableauClassColonne' => $tableau_class_cellule, "id" => $id, "type" => $type]);
//return $this->render('Adresses/Adresse/lister.html.twig', array('tableauClassColonne'=>$tableau_class_cellule,"id"=>$id,"type"=>$type));
}
/**
* set datatable configs
*
* @return \App\Library\Datatable\Util\Datatable
*/
private function datatable(Datatable $datatable, TranslatorInterface $translator, $objet, $type = "")
{
$type_jointure = 'x.'.$type;
$datatable->setDatatableId('dta-tarif-mode-livraison')
->setEntity(TarifModeLivraison::class, "x")
->setFields(
[
$translator->trans("ID") => 'x.id',
$translator->trans("Code") => 'x.code',
$translator->trans("Frais") => 'x.frais',
$translator->trans("Frais additionel") => 'x.fraisAdditionel',
//$translator->trans("Actions") => 'x.id',
"_identifier_" => 'x.id',
]
)
//->addJoin('x.ville', 'v', \Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
->setWhere(
$type_jointure.' = :objet ',
['objet' => $objet]
)
->setRenderers(
[
2 => [
'view' => 'FO/DataTable/edit_texte.html.twig',
'params' => [
'objet' => TarifModeLivraison::class,
'champ' => 'setFrais',
'debug' => '0',
],
],
3 => [
'view' => 'FO/DataTable/edit_texte.html.twig',
'params' => [
'objet' => TarifModeLivraison::class,
'champ' => 'setFraisAdditionel',
'debug' => '0',
],
],
/*
1 => array(
'view' => 'FO/DataTable/actions_modal.html.twig',
'params' => array(
//'edit_route' => 'dtc_adresse_modifier',
//'supprimer_route' => 'dtc_adresse_supprimer',
'id' => $objet->getId(),
'type' => $type,
'entite' => 'TarifModeLivraison',
'objet' => "DTCMarketPlaceBundle:TarifModeLivraison",
'table' => "dta-tarif-mode-livraison",
),
),
*/
]
)
->setOrder("x.id", "asc")
->setSearch(true)
->setSearchFields([]);
return $datatable;
}
/**
* Grid action
* @return Response
*/
/**
* @Route("/tarif-mode-livraison/grid/{id}/{type}", name="dtc_tarif_mode_livraison_liste_grid")
*/
public function gridAction(Request $request, $id = "", $type = "", EntityManagerInterface $em, Datatable $datatable, TranslatorInterface $translator)
{
if ($type == 'articleMarketPlace') {
$repo_objet = $em->getRepository(ArticleMarketPlace::class);
$objet = $repo_objet->find($id);
}
return $this->datatable($datatable, $translator, $objet, $type)->execute();
}
}