<?php
namespace App\Controller\Litiges;
use _PHPStan_7bd9fb728\Nette\Utils\Json;
use App\Entity\Clients\Client;
use App\Entity\Fournisseurs\Fournisseur;
use App\Entity\GestionComerciale\ArticleCommande;
use App\Entity\GestionComerciale\Commande;
use App\Entity\GestionComerciale\CommandeFournisseur;
use App\Entity\GestionComerciale\RetourFournisseur;
use App\Entity\GestionComerciale\RetourFournisseurArticleCommande;
use App\Entity\Litiges\Litige;
use App\Entity\Litiges\LitigeArticleCommande;
use App\Form\Litiges\LitigeType;
use App\Form\Litiges\SupprimerLitigeType;
use App\Library\Datatable\Util\Datatable;
use App\Model\GestionCommerciale\TypeDocumentCommercial;
use App\Security\Voter\EntityVoter;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
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;
class LitigeController extends AbstractController
{
/**
* @Route("/litige/nouveau/{id}/{type}", name="dtc_litige_ajouter")
*/
public function ajouterAction(Request $request, $id, $type = "", EntityManagerInterface $em, TranslatorInterface $translator, ValidatorInterface $validator)
{
$titre_modal = $translator->trans("Nouveau litige");
$page = $request->query->get('page');
$litige = new Litige();
$user = $this->getUser();
$litige->setUtilisateur($user);
$get = $request->query->all();
$form = $this->createForm(LitigeType::class, $litige);
$errors = "";
$form->handleRequest($request);
$articleCommande = [];
if (array_key_exists('articles', $get) && count($get["articles"]) > 0) {
$repo_article_commande = $em->getRepository(ArticleCommande::class);
foreach ($get["articles"] as $ac) {
$ac_obj = $repo_article_commande->find($ac);
if (is_object($ac_obj) && ! is_object($ac_obj->getLitige())) {
//$articleCommande[] = $ac_obj;
$litigeArticleCommande = new LitigeArticleCommande();
$litigeArticleCommande->setArticleCommande($ac_obj);
$litigeArticleCommande->setLitige($litige);
$litigeArticleCommande->setQuantite($ac_obj->getQuantite());
$articleCommande[] = $litigeArticleCommande;
}
}
}
if ($form->isSubmitted()) {
$post = $request->request->all();
if ($form->isValid()) {
if ($type == 'commandeFournisseur') {
$repo_objet = $em->getRepository(CommandeFournisseur::class);
$objet = $repo_objet->find($id);
$litige->setCommandeFournisseur($objet);
$litige->setFournisseur(null);
if (is_object($objet->getFournisseur())) {
$litige->setFournisseur($objet->getFournisseur());
}
$compteur_boucle = 0;
if (count($articleCommande) > 0) {
foreach ($articleCommande as $ac) {
$litigeArticleCommande = new LitigeArticleCommande();
$litigeArticleCommande->setLitige($litige);
$litigeArticleCommande->setArticleCommande($ac->getArticleCommande());
$litigeArticleCommande->setQuantite($post["qte"][$compteur_boucle]);
$em->persist($litigeArticleCommande);
$compteur_boucle++;
/*
if(!is_object($ac->getLitige())) {
$ac->setLitige($litige);
$em->persist($ac);
}
*/
}
}
$url = $this->generateUrl('dtc_commande_fournisseur_modifier', ['id' => $objet->getId(), 'tab' => 'litiges']);
} elseif ($type == 'commande') {
$repo_objet = $em->getRepository(Commande::class);
$objet = $repo_objet->find($id);
$litige->setCommande($objet);
$litige->setCommandeParent($objet);
if (is_object($objet->getCommande())) {
$litige->setCommandeParent($objet->getCommande());
}
$litige->setClient(null);
if (is_object($objet->getClient())) {
$litige->setClient($objet->getClient());
}
$compteur_boucle = 0;
if (count($articleCommande) > 0) {
foreach ($articleCommande as $ac) {
$litigeArticleCommande = new LitigeArticleCommande();
$litigeArticleCommande->setLitige($litige);
$litigeArticleCommande->setArticleCommande($ac->getArticleCommande());
$litigeArticleCommande->setQuantite($post["qte"][$compteur_boucle]);
$em->persist($litigeArticleCommande);
$compteur_boucle++;
/*
if(!is_object($ac->getLitige())) {
$ac->setLitige($litige);
$em->persist($ac);
}
*/
}
}
$url = $this->generateUrl('dtc_commande_modifier', ['id' => $objet->getId(), 'tab' => 'litiges']);
} elseif ($type == 'client') {
$repo_objet = $em->getRepository(Client::class);
$objet = $repo_objet->find($id);
$litige->setClient($objet);
$url = $this->generateUrl('dtc_client_modifier', ['id' => $objet->getId(), 'tab' => 'litiges']);
} elseif ($type == 'fournisseur') {
$repo_objet = $em->getRepository(Fournisseur::class);
$objet = $repo_objet->find($id);
$litige->setFournisseur($objet);
$url = $this->generateUrl('dtc_fournisseur_modifier', ['id' => $objet->getId(), 'tab' => 'litiges']);
}
$em->persist($litige);
$em->flush();
if (array_key_exists('table', $get) && $get["table"] != "") {
return new JsonResponse(['rendu' => '', 'valide' => '1', 'url' => $url, 'type' => 'recharger_datatable', 'id_datatable' => $get["table"]]);
} else {
$this->addFlash('notice', $translator->trans('Litige ajoutée avec succès !'));
return new JsonResponse(['rendu' => '', 'valide' => '1', 'url' => $url]);
}
} else {
$errors = $validator->validate($litige);
$rendu = $this->renderView(
'Litiges/Litige/ajouter.html.twig',
['form' => $form->createView(), 'errors' => $errors, 'id' => $id, 'type' => $type, 'articleCommande' => $articleCommande]
);
return new JsonResponse(['rendu' => $rendu, 'valide' => '0', 'url' => '', 'titre' => $titre_modal]);
}
}
$rendu = $this->renderView(
'Litiges/Litige/ajouter.html.twig',
['form' => $form->createView(), 'errors' => $errors, 'id' => $id, 'type' => $type, 'articleCommande' => $articleCommande]
);
return new JsonResponse(['rendu' => $rendu, 'valide' => '0', 'url' => '', 'titre' => $titre_modal]);
}
/**
* @Route("/litige/modifier/{objet}/{id}/{type}", name="dtc_litige_modifier")
*/
public function modifierAction(Request $request, Litige $objet, $id, $type, EntityManagerInterface $em, TranslatorInterface $translator,
ValidatorInterface $validator
) {
$litige = $objet;
$titre_modal = $translator->trans("Modifier litige");
$get = $request->query->all();
$user = $this->getUser();
$litige->setUtilisateur($user);
$form = $this->createForm(LitigeType::class, $litige);
$errors = "";
$form->handleRequest($request);
$post = $request->request->all();
$repo_article_commande = $em->getRepository(ArticleCommande::class);
$repo_litige_article_commande = $em->getRepository(LitigeArticleCommande::class);
$litigeArticleCommande = $repo_litige_article_commande->findBy(["litige" => $litige]);
$articleCommande = $litigeArticleCommande;
//$articleCommande = $repo_article_commande->findBy(array("litige"=>$litige));
if ($form->isSubmitted()) {
$droit = $this->isGranted(EntityVoter::UPDATE, Litige::class);
if ( ! $droit) {
$rendu = $this->renderView(
'Litiges/Litige/ajouter.html.twig',
['form' => $form->createView(), 'errors' => $errors, 'id' => $id, 'type' => $type, 'objet' => $objet]
);
return new Response(json_encode(['rendu' => $rendu, 'valide' => '0', 'url' => '', 'titre' => $titre_modal]));
}
if ($form->isValid()) {
if ($type == 'commandeFournisseur') {
$repo_objet = $em->getRepository(CommandeFournisseur::class);
$objet = $repo_objet->find($id);
$litige->setCommandeFournisseur($objet);
$compteur_boucle = 0;
if (count($articleCommande) > 0) {
foreach ($articleCommande as $ac) {
if (isset($post["articleCommande"]) && in_array($ac->getArticleCommande()->getId(), $post["articleCommande"])) {
//echo "<div>A ==> ".$ac->getArticleCommande()->getId()."</div>";
$ac->setQuantite($post["qte"][$compteur_boucle]);
$em->persist($ac);
} else {
//echo "<div>B</div>";
$em->remove($ac);
}
$compteur_boucle++;
}
}
$url = $this->generateUrl('dtc_commande_fournisseur_modifier', ['id' => $objet->getId(), 'tab' => 'litiges']);
} elseif ($type == 'commande') {
$repo_objet = $em->getRepository(Commande::class);
$objet = $repo_objet->find($id);
$litige->setCommande($objet);
$compteur_boucle = 0;
if (count($articleCommande) > 0) {
foreach ($articleCommande as $ac) {
if (isset($post["articleCommande"]) && in_array($ac->getArticleCommande()->getId(), $post["articleCommande"])) {
//echo "<div>A ==> ".$ac->getArticleCommande()->getId()."</div>";
$ac->setQuantite($post["qte"][$compteur_boucle]);
$em->persist($ac);
} else {
//echo "<div>B</div>";
$em->remove($ac);
}
$compteur_boucle++;
}
}
$url = $this->generateUrl('dtc_transporteur_modifier', ['id' => $objet->getId(), 'tab' => 'litiges']);
} elseif ($type == 'client') {
$repo_objet = $em->getRepository(Client::class);
$objet = $repo_objet->find($id);
$litige->setClient($objet);
$url = $this->generateUrl('dtc_client_modifier', ['id' => $objet->getId(), 'tab' => 'litiges']);
} elseif ($type == 'fournisseur') {
$repo_objet = $em->getRepository(Fournisseur::class);
$objet = $repo_objet->find($id);
$litige->setFournisseur($objet);
$url = $this->generateUrl('dtc_fournisseur_modifier', ['id' => $objet->getId(), 'tab' => 'litiges']);
}
if ($litige->getStatut() == "1" && ! is_object($litige->getDateCloture())) {
$date = new \Datetime();
$litige->setDateCloture($date);
} elseif ($litige->getStatut() == "0" or is_null($litige->getStatut())) {
$litige->setDateCloture(null);
}
$em->persist($litige);
$em->flush();
if (array_key_exists('table', $get) && $get["table"] != "") {
return new JsonResponse(
['rendu' => '', 'valide' => '1', 'url' => $url, 'type' => 'recharger_datatable', 'id_datatable' => $get["table"]]
);
} else {
$this->addFlash('notice', $translator->trans('Litige modifié avec succès !'));
return new JsonResponse(['rendu' => '', 'valide' => '1', 'url' => $url]);
}
} else {
$errors = $validator->validate($litige);
$rendu = $this->renderView(
'Litiges/Litige/ajouter.html.twig',
[
'form' => $form->createView(),
'errors' => $errors,
'id' => $id,
'type' => $type,
'objet' => $objet,
'articleCommande' => $articleCommande,
'litige' => $litige,
]
);
return new JsonResponse(['rendu' => $rendu, 'valide' => '0', 'url' => '', 'titre' => $titre_modal]);
}
}
$rendu = $this->renderView(
'Litiges/Litige/ajouter.html.twig',
[
'form' => $form->createView(),
'errors' => $errors,
'id' => $id,
'type' => $type,
'objet' => $objet,
'articleCommande' => $articleCommande,
'litige' => $litige,
]
);
return new JsonResponse(['rendu' => $rendu, 'valide' => '0', 'url' => '', 'titre' => $titre_modal]);
}
/**
* @Route("/litige/supprimer/{objet}/{id}/{type}", name="dtc_litige_supprimer")
*/
public function supprimerAction(Request $request, Litige $objet, $id, $type, EntityManagerInterface $em, TranslatorInterface $translator, ValidatorInterface $validator)
{
$litige = $objet;
$titre_modal = $translator->trans("Demande de confirmation");
$user = $this->getUser();
$get = $request->query->all();
$form = $this->createForm(SupprimerLitigeType::class, $litige);
$errors = "";
$form->handleRequest($request);
if ($form->isSubmitted()) {
if ($form->isValid()) {
if ($type == 'commandeFournisseur') {
$repo_article_commande = $em->getRepository(ArticleCommande::class);
$article_commande_litige = $repo_article_commande->findBy(["litige" => $litige]);
if (count($article_commande_litige) > 0) {
foreach ($article_commande_litige as $acl) {
$acl->setLitige(null);
$em->persist($acl);
}
}
$url = $this->generateUrl('dtc_commande_fournisseur_modifier', ['id' => $id, 'tab' => 'litiges']);
} elseif ($type == 'commande') {
$repo_article_commande = $em->getRepository(ArticleCommande::class);
$article_commande_litige = $repo_article_commande->findBy(["litige" => $litige]);
if (count($article_commande_litige) > 0) {
foreach ($article_commande_litige as $acl) {
$acl->setLitige(null);
$em->persist($acl);
}
}
$url = $this->generateUrl('dtc_commande_modifier', ['id' => $id, 'tab' => 'litiges']);
} elseif ($type == 'client') {
$url = $this->generateUrl('dtc_client_modifier', ['id' => $id, 'tab' => 'litiges']);
} elseif ($type == 'fournisseur') {
$url = $this->generateUrl('dtc_fournisseur_modifier', ['id' => $id, 'tab' => 'litiges']);
}
$em->remove($litige);
$em->flush();
if (array_key_exists('table', $get) && $get["table"] != "") {
return new JsonResponse(
['rendu' => '', 'valide' => '1', 'url' => $url, 'type' => 'recharger_datatable', 'id_datatable' => $get["table"]]
);
} else {
$this->addFlash('notice', $translator->trans('Litige supprimé avec succès !'));
return new JsonResponse(['rendu' => '', 'valide' => '1', 'url' => $url]);
}
} else {
$errors = $validator->validate($litige);
$rendu = $this->renderView(
'FO/Supprimer/supprimer.html.twig',
['form' => $form->createView(), 'errors' => $errors, 'id' => $id, 'type' => $type, 'objet' => $objet]
);
return new JsonResponse(['rendu' => $rendu, 'valide' => '0', 'url' => '', 'titre' => $titre_modal]);
}
}
$rendu = $this->renderView('FO/Supprimer/supprimer.html.twig', ['form' => $form->createView(), 'errors' => $errors, 'id' => $id, 'type' => $type, 'objet' => $objet]);
return new JsonResponse(['rendu' => $rendu, 'valide' => '0', 'url' => '', 'titre' => $titre_modal]);
}
/**
* @Route("", name="")
*/
public function listerAction(Request $request, $id, $type = "", EntityManagerInterface $em, Datatable $datatable, TranslatorInterface $translator)
{
$visibilite_colonne_commande_client = true;
$visibilite_colonne_client = true;
$visibilite_colonne_commande_fournisseur = true;
$visibilite_colonne_fournisseur = true;
if ($type == 'commandeFournisseur') {
$repo_objet = $em->getRepository(CommandeFournisseur::class);
$objet = $repo_objet->find($id);
$visibilite_colonne_commande_client = false;
$visibilite_colonne_client = false;
$visibilite_colonne_commande_fournisseur = false;
$visibilite_colonne_fournisseur = false;
} elseif ($type == 'commande') {
$repo_objet = $em->getRepository(Commande::class);
$objet = $repo_objet->find($id);
$visibilite_colonne_commande_client = false;
$visibilite_colonne_client = false;
$visibilite_colonne_commande_fournisseur = false;
$visibilite_colonne_fournisseur = false;
} elseif ($type == 'client') {
$repo_objet = $em->getRepository(Client::class);
$objet = $repo_objet->find($id);
$visibilite_colonne_commande_client = true;
$visibilite_colonne_client = false;
$visibilite_colonne_commande_fournisseur = false;
$visibilite_colonne_fournisseur = false;
} elseif ($type == 'fournisseur') {
$repo_objet = $em->getRepository(Fournisseur::class);
$objet = $repo_objet->find($id);
$visibilite_colonne_commande_client = false;
$visibilite_colonne_client = false;
$visibilite_colonne_commande_fournisseur = true;
$visibilite_colonne_fournisseur = false;
}
$tableau_class_cellule[] = ["className" => "visible_export colonne_id text-center", "targets" => [0], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = [
"className" => "visible_export colonne_id",
"targets" => [1],
"visible" => $visibilite_colonne_commande_client,
"orderable" => true,
"searchable" => true,
];
$tableau_class_cellule[] = [
"className" => "visible_export colonne_id ",
"targets" => [2],
"visible" => $visibilite_colonne_client,
"orderable" => true,
"searchable" => true,
];
$tableau_class_cellule[] = [
"className" => "visible_export colonne_id ",
"targets" => [3],
"visible" => $visibilite_colonne_commande_fournisseur,
"orderable" => true,
"searchable" => true,
];
$tableau_class_cellule[] = [
"className" => "visible_export colonne_id ",
"targets" => [4],
"visible" => $visibilite_colonne_fournisseur,
"orderable" => true,
"searchable" => true,
];
$tableau_class_cellule[] = ["className" => "visible_export colonne_id ", "targets" => [5], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = ["className" => "visible_export colonne_id text-right", "targets" => [6], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = ["className" => "visible_export colonne_id ", "targets" => [7], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = ["className" => "visible_export colonne_id text-center ", "targets" => [8], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = ["className" => "visible_export colonne_id ", "targets" => [9], "visible" => true, "orderable" => true, "searchable" => true];
$tableau_class_cellule[] = ["orderable" => false, "className" => "colonne_id", "targets" => [10], "visible" => true];
$this->datatable($datatable, $translator, $objet, $type);
return $this->render('Litiges/Litige/lister.html.twig', ['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;
$where = "";
$parametres_where = [];
if ($type == "commande" && is_object($objet->getTypeDocumentCommercial()) && $objet->getTypeDocumentCommercial() == TypeDocumentCommercial::COMMANDE) {
$where = 'x.commandeParent = :objet';
$parametres_where = ['objet' => $objet];
} elseif ($type == "commande") {
if (is_object($objet->getCommande())) {
$where = $type_jointure.' = :objet OR x.commandeParent = :commandeParent';
$parametres_where = ['objet' => $objet, 'commandeParent' => $objet->getCommande()];
} else {
$where = $type_jointure.' = :objet';
$parametres_where = ['objet' => $objet];
}
} elseif ($type != "") {
$where = $type_jointure.' = :objet';
$parametres_where = ['objet' => $objet];
}
$datatable->setDatatableId('dta-litiges')
->setEntity(Litige::class, "x")
->setFields(
[
//$translator->trans("ID") => 'x.id',
$translator->trans("Date") => 'x.date',
$translator->trans("Commande client") => 'c.reference',
$translator->trans("Client") => 'cl.reference',
$translator->trans("Commande fournisseur") => 'cf.reference',
$translator->trans("Fournisseur") => 'f.reference',
$translator->trans("Référence") => 'x.reference',
$translator->trans("Montant") => 'x.montant',
$translator->trans("Clôturé") => 'x.statut',
$translator->trans("Date clôture") => 'x.dateCloture',
$translator->trans("Commentaire") => 'x.commentaire',
$translator->trans("Actions") => 'x.id',
"_identifier_" => 'x.id',
]
)
->addJoin('x.commande', 'c', \Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
->addJoin('x.client', 'cl', \Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
->addJoin('x.fournisseur', 'f', \Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
->addJoin('x.commandeFournisseur', 'cf', \Doctrine\ORM\Query\Expr\Join::LEFT_JOIN)
->setRenderers(
[
0 => [
'view' => 'FO/DataTable/date.html.twig',
'params' => [],
],
1 => [
'view' => 'FO/DataTable/avec_lien_edit_route.html.twig',
'params' => [
'edit_route' => 'dtc_commande_modifier',
'typeDocument' => 'commande',
],
],
2 => [
'view' => 'FO/DataTable/avec_lien_edit_route.html.twig',
'params' => [
'edit_route' => 'dtc_client_modifier',
'typeDocument' => 'client',
],
],
3 => [
'view' => 'FO/DataTable/avec_lien_edit_route.html.twig',
'params' => [
'edit_route' => 'dtc_commande_fournisseur_modifier',
'typeDocument' => 'commandeFournisseur',
],
],
4 => [
'view' => 'FO/DataTable/avec_lien_edit_route.html.twig',
'params' => [
'edit_route' => 'dtc_fournisseur_modifier',
'typeDocument' => 'fournisseur',
],
],
6 => [
'view' => 'FO/DataTable/prix.html.twig',
'params' => [],
],
7 => [
'view' => 'FO/DataTable/statut.html.twig',
'params' => [
'edit_route' => 'dtc_litige_statut',
],
],
8 => [
'view' => 'FO/DataTable/heure.html.twig',
'params' => [
'edit_route' => 'dtc_litige_statut',
],
],
10 => [
'view' => 'FO/DataTable/actions_modal.html.twig',
'params' => [
'edit_route' => 'dtc_litige_modifier',
'supprimer_route' => 'dtc_litige_supprimer',
'id' => $objet->getId(),
'type' => $type,
'entite' => 'adresse',
'objet' => Litige::class,
'table' => "dta-litiges",
'deplier_litige' => true,
],
],
]
)
->setOrder("x.id", "desc")
->setSearch(true)
->setSearchFields([1]);
if ($where != "") {
$datatable->setWhere($where, $parametres_where);
}
return $datatable;
}
/**
* Grid action
* @return Response
*/
/**
* @Route("/litige/grid/{id}/{type}", name="dtc_litige_liste_grid")
*/
public function gridAction(Request $request, $id = "", $type = "dtc_litige_liste_grid", EntityManagerInterface $em, Datatable $datatable, TranslatorInterface $translator)
{
if ($type == 'commandeFournisseur') {
$repo_objet = $em->getRepository(CommandeFournisseur::class);
$objet = $repo_objet->find($id);
} elseif ($type == 'commande') {
$repo_objet = $em->getRepository(Commande::class);
$objet = $repo_objet->find($id);
} elseif ($type == 'client') {
$repo_objet = $em->getRepository(Client::class);
$objet = $repo_objet->find($id);
} elseif ($type == 'fournisseur') {
$repo_objet = $em->getRepository(Fournisseur::class);
$objet = $repo_objet->find($id);
}
return $this->datatable($datatable, $translator, $objet, $type)->execute();
}
/**
* @Route("/litige/statut/{id}", name="dtc_litige_statut")
*/
public function changeStatutAction(Request $request, Litige $litige, EntityManagerInterface $em)
{
if ($litige->getStatut() == 1) {
$litige->setStatut(0);
} else {
$litige->setStatut(1);
}
if ($litige->getStatut() == "1") {
$date = new \Datetime();
$litige->setDateCloture($date);
} else {
$litige->setDateCloture(null);
}
$em->persist($litige);
$em->flush();
$em->refresh($litige);
$headers = [
'Content-Type' => 'application/json',
'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => 'POST',
];
return new JsonResponse(['data' => '1'], 200, $headers);
}
/**
* @Route("", name="")
*/
public function detailRetourFournisseurAction(Request $request, RetourFournisseur $retourFournisseur, EntityManagerInterface $em, TranslatorInterface $translator,
ValidatorInterface $validator
) {
$repo_retour_fournisseur_article_commande = $em->getRepository(RetourFournisseurArticleCommande::class);
$retourFournisseurArticleCommande = $repo_retour_fournisseur_article_commande->findBy(["retourFournisseur" => $retourFournisseur]);
$rendu = $this->renderView(
'GestionComerciale/RetourFournisseur/detail_datatable.html.twig',
[
'retourFournisseur' => $retourFournisseur,
'retourFournisseurArticleCommande' => $retourFournisseurArticleCommande,
]
);
return new JsonResponse(['rendu' => $rendu,]);
}
/**
* @Route("/litige/ajax/detail/{id}", name="dtc_litige_detail_ajax")
*/
public function detailLitigeAction(Request $request, Litige $litige, EntityManagerInterface $em)
{
$repo_litige_article_commande = $em->getRepository(LitigeArticleCommande::class);
$litigeArticleCommande = $repo_litige_article_commande->findBy(["litige" => $litige]);
$rendu = $this->renderView('Litiges/Litige/detail_datatable.html.twig', ['litige' => $litige, 'litigeArticleCommande' => $litigeArticleCommande]
);
return new JsonResponse(['rendu' => $rendu,]);
}
/**
* @Route("", name="")
*/
public function ____detailLitigeAction(Request $request, Litige $litige)
{
$rendu = $this->renderView('Litiges/Litige/detail_datatable.html.twig', ['litige' => $litige]);
return new JsonResponse(['rendu' => $rendu,]);
}
/**
* @Route("/litige/charger-tableau/{id}/{type}", name="dtc_litige_charger_tableau")
*/
public function chargerTableauAction(Request $request, $id = "0", $type = "", EntityManagerInterface $em
) {
$objet = null;
if ($type == 'commandeFournisseur') {
$repo_objet = $em->getRepository(CommandeFournisseur::class);
$objet = $repo_objet->find($id);
} elseif ($type == 'commande') {
$repo_objet = $em->getRepository(Commande::class);
$objet = $repo_objet->find($id);
} elseif ($type == 'client') {
$repo_objet = $em->getRepository(Client::class);
$objet = $repo_objet->find($id);
} elseif ($type == 'fournisseur') {
$repo_objet = $em->getRepository(Fournisseur::class);
$objet = $repo_objet->find($id);
}
$rendu = $this->renderView('Litiges/Litige/charger_tableau.html.twig', ["id" => $id, "type" => $type, "objet" => $objet]);
return new JsonResponse(['rendu' => $rendu]);
}
}