src/Controller/site/SiteController.php line 125

Open in your IDE?
  1. <?php
  2. namespace App\Controller\site;
  3. use Symfony\Component\HttpFoundation\Request;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use App\Entity\stock\CommandeClient;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use App\Entity\stock\LigneCommandeClient;
  9. use App\ControllerModel\user\paramUtilTrait
  10. use App\Types\user\TypeEtat;
  11. use App\Repository\cms\PageRepository;
  12. use App\Repository\user\AbonneRepository;
  13. use App\Repository\cms\ZoneRepository;
  14. use App\Services\param\ParametreManager;
  15. use App\Repository\cms\ArticleRepository;
  16. use App\Repository\cms\RubriqueRepository;
  17. use App\Repository\stock\CategorieProduitRepository;
  18. use App\Repository\user\ProfilRepository;
  19. use App\Repository\user\UtilisateurRepository;
  20. use App\Repository\stock\ProduitRepository;
  21. use App\Repository\cms\TemplateRepository;
  22. use App\Repository\cms\MenuRepository;
  23. use App\Repository\prod\GroupementRepository;
  24. use App\Repository\prod\SurfaceAnneeRepository;
  25. use App\Repository\prod\ProducteurRepository;
  26. use App\Repository\stock\CaracteristiquePrixRepository;
  27. use App\Repository\stock\CibleRepository;
  28. use App\Repository\stock\CommandeClientRepository;
  29. use App\Repository\stock\LigneCommandeClientRepository;
  30. use App\Repository\stock\SacRepository;
  31. use App\Repository\stock\InfoLivrerRepository;
  32. use App\Repository\stock\CommandeRepository;
  33. use App\Repository\prod\ProducteurGroupementRepository;
  34. use App\Repository\stock\CarateristiqueProduitRepository;
  35. use App\Repository\stock\PrixRigueurRepository;
  36. use App\Repository\asso\ProjetRepository;
  37. class SiteController extends AbstractController
  38. {
  39.     use paramUtilTrait;
  40.    /* public function indexAction()
  41.     {
  42.         //var_dump('ters');exit;   
  43.         return $this->render('site/Site/index.html.twig');
  44.     }*/
  45.     
  46.     private $data;
  47.     public function indexTestAction()
  48.     {
  49.         //Liste des bannières
  50.         
  51.         $em $this->getDoctrine()->getManager();
  52.         $banniere $em->getRepository('adminCmsBundle:Rubrique')->getAllOrOneRubriqueArticleActif(2);
  53.         
  54.         //Recupération des activités
  55.         
  56.         $activites $em->getRepository('adminCmsBundle:Rubrique')->getAllOrOneRubriqueSousActif(3);
  57.         
  58.         $this->data['activites'] = $activites;
  59.         $this->data['banniere'] = $banniere;
  60.         return $this->render('site/Site/index.html.twig'$this->data);
  61.     }
  62.     
  63.     //private $datas;
  64.     public function detailsRubriqueAction(Request $request$id,MenuRepository $menuRepositoryAbonneRepository $abonneRepository
  65.     GroupementRepository $groupementRepositoryTemplateRepository $templateRepositoryPageRepository $pageRepository,
  66.     ZoneRepository $zoneRepositoryRubriqueRepository $rubriqueRepository)
  67.     {
  68.         
  69.         $em $this->getDoctrine()->getManager();
  70.         $adresseWeb $request->getHost();
  71.         //recuperation et traitement des informations sur les zones
  72.         $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  73.         $rubrique $rubriqueRepository->find($id);
  74.         //traitement des menus
  75.         $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository);
  76.     
  77.         if($objetInitial == null ){
  78.             $template $templateRepository->find(20);
  79.         }else{
  80.             $template $objetInitial->getTemplate();
  81.             // $template = $em->getRepository($this->cmsBundle . 'Template')->find(1);
  82.         }
  83.         if($template->getNomDossierTemplate()==''){
  84.             $nomTemplate "Default";
  85.         }else{
  86.             $nomTemplate $template->getNomDossierTemplate();
  87.         } //recuperation et traitement des informations sur les zones
  88.        
  89.         $nomTwig "detailsRubrique.html.twig";
  90.         
  91.        // $etablissements = $em->getRepository($this->scolariteBundle . 'Etablissement')->getAllActifEtablissementAccueil();
  92.         //$rubriques = $em->getRepository('adminCmsBundle:Rubrique')->findAll();
  93.         $typeSite=1;
  94.         $this->data['rubrique'] = $rubrique;
  95.        // $this->data['listeEtablissement'] = $etablissements;            
  96.         $this->data['listeMenu'] = $listeMenu;
  97.         $this->data['objetInitial'] = $objetInitial;
  98.         $this->data['objetAbonne'] = $objetInitial;
  99.         $this->data['typeSite'] = $typeSite;
  100.         $this->data['zoneRepository'] = $zoneRepository;
  101.        
  102.         //$this->datas['rubriques'] = $rubriques;
  103.        // var_dump('adminSiteBundle'.':'.$nomTemplate.':'.$nomTwig);exit;
  104.         return $this->render('site/'.$nomTemplate.'/'.$nomTwig$this->data);
  105.     }
  106.     
  107.     
  108.     public function detailsArticleAction(Request $request$idMenuRepository $menuRepository,  AbonneRepository $abonneRepository
  109.     GroupementRepository $groupementRepositoryTemplateRepository $templateRepositoryPageRepository $pageRepository,
  110.     ZoneRepository $zoneRepository,  ArticleRepository $articleRepository)
  111.     {
  112.         $em $this->getDoctrine()->getManager();
  113.         //recuperation de l'objet classe par rapport  
  114.         $adresseWeb $request->getHost();
  115.             //recuperation et traitement des informations sur les zones
  116.         $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  117.         $article $articleRepository->find($id);
  118.          //traitement des menus
  119.         $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository);
  120.        
  121.         
  122.         if($objetInitial == null ){
  123.             $template $templateRepository->find(20);
  124.         }else{
  125.             $template $objetInitial->getTemplate();
  126.             // $template = $em->getRepository($this->cmsBundle . 'Template')->find(1);
  127.         }
  128.         if($template->getNomDossierTemplate()==''){
  129.             $nomTemplate "Default";
  130.         }else{
  131.             $nomTemplate $template->getNomDossierTemplate();
  132.         }
  133. //        if(count($getInfoPage)!=0){
  134. //            if($getInfoPage->getTwigPage()==''){
  135. //                $nomTemplate = "detailArticle.html.twig";
  136. //            }else{
  137. //                $nomTwig = $getInfoPage->getTwigPage();
  138. //            }
  139. //        }else{
  140.             $nomTwig "detailsArticle.html.twig";
  141. //        }
  142.         $typeSite 1;
  143.         $this->data['objetInitial'] = $objetInitial;
  144.         $this->data['objetAbonne'] = $objetInitial;
  145.         $this->data['article'] = $article;
  146.         $this->data['typeSite'] = $typeSite;
  147.         $this->data['listeMenu'] = $listeMenu;
  148.         $this->data['zoneRepository'] = $zoneRepository;
  149.         //var_dump('site'.'/'.$nomTemplate.'/'.$nomTwig);exit;
  150.         return $this->render('site'.'/'.$nomTemplate.'/'.$nomTwig$this->data);
  151.        
  152.     }
  153.     
  154.     
  155.     public function traitePageTemplateAction(Request $request,  AbonneRepository $abonneRepository,
  156.         GroupementRepository $groupementRepositoryTemplateRepository $templateRepositoryPageRepository $pageRepository,
  157.         ZoneRepository $zoneRepositoryArticleRepository $articleRepositoryRubriqueRepository $rubriqueRepository 
  158.         ,CategorieProduitRepository $categorieRepository ProducteurRepository $producteurRepository ,ProduitRepository $produitRepository
  159.         MenuRepository $menuRepositorySurfaceAnneeRepository $surfaceAnneeRepositoryProjetRepository $projetRepository){
  160.         $em $this->getDoctrine()->getManager(); //recuperation de l"entité manager
  161.         //return $this->redirect($this->generateUrl('app_admin_user_login'));  
  162.         $tabTraiteZone = array();
  163.         $tabZonePage = array();
  164.         $idEtablissement TypeEtat::ACTIF;
  165.         $adresseWeb $request->getHost();
  166.         $template null;
  167.         $typeSite 1;
  168.         //Recuperation du local de l'utilisateur
  169.             
  170.         $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  171.         if($objetInitial== null){
  172.             $objetInitial$groupementRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  173.             if($objetInitial!= null)
  174.                 $typeSite 2;
  175.         }
  176.               //$objetAbonne = $em->getRepository($this->userBundle . 'Abonne')->find(9);
  177.         if($objetInitial == null ){
  178.             $template $templateRepository->find(20);
  179.         }else{
  180.             $template $objetInitial->getTemplate();
  181.             // $template = $em->getRepository($this->cmsBundle . 'Template')->find(1);
  182.         
  183.         if($objetInitial != null 
  184.             $request->setLocale($objetInitial->getLangue());
  185.         else
  186.             $request->setLocale("fr");
  187.         // var_dump($template->getId());exit;
  188.         if($objetInitial != null ){
  189.             if($typeSite == 1)
  190.                 $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(),$menuRepository);   
  191.             else
  192.                 $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository);  
  193.         }else{
  194.             $listeMenu = array();
  195.             // $template = $em->getRepository($this->cmsBundle . 'Template')->find(1);
  196.         
  197.         $listeZone = array();     
  198.         //recuperation de l'objet page d'accueil et recuperation des zones celle-ci
  199.         
  200.         if($typeSite == 1)
  201.             $getInfoPage $pageRepository->findOneBy(array('template'=>$template'abonne'=>$objetInitial'siPageAccueil'=>  TypeEtat::ACTIF));
  202.         else
  203.             $getInfoPage =  $pageRepository->findOneBy(array('template'=>$template,  'siPageAccueil'=>  TypeEtat::ACTIF)); //'groupement'=>$objetInitial,
  204.         //recuperation et traitement des informations sur les zones
  205.         //var_dump($getInfoPage);exit;
  206.         if($getInfoPage!=null){
  207.             //$tabZonePage=$getInfoPage->getZones();
  208.             if($objetInitial != null ){
  209.                 if($typeSite == 1)
  210.                     $listeZone $zoneRepository->getAllZonePage($getInfoPage->getId()); 
  211.                 else
  212.                     $listeZone $zoneRepository->getAllZonePageGroupement($objetInitial->getId());                    
  213.             } 
  214.             foreach ($listeZone as $uneZone) {            
  215.                 if($uneZone["typeElement"]== ){ //Affichage d'article seul'
  216.                     $tabTraiteZone[$uneZone["id"]]['article'] =$articleRepository->getAllOrOneArticle($uneZone["pointeVers"]);
  217.                     $tabTraiteZone[$uneZone["id"]]['typeInfo'] =1;   
  218.                 } elseif($uneZone["typeElement"]== 2  || $uneZone["typeElement"]== 0){// Affichage du détail d'une rubrique seul
  219.                     
  220.                     
  221.                     $uneRub $rubriqueRepository->getAllOrOneRubrique($uneZone["pointeVers"]);   
  222.                     $tabTraiteZone[$uneZone["id"]]['rubrique'] =  $uneRub;                  
  223.                     $tabTraiteZone[$uneZone["id"]]['typeInfo'] =$uneZone["typeElement"];
  224.                     // var_dump($uneZone );exit;  
  225.                     if($uneRub !=null ){
  226.                         $tabTraiteZone[$uneZone["id"]]['article'] =  $articleRepository->getAllOrOneArticleSousActif($uneRub[0]->getId());
  227.                     //    $tabTraiteZone[$uneZone["id"]]['article'] =  $em->getRepository($this->cmsBundle . 'Article')->getAllOrOneArticleSousActif($uneZone["pointeVers"]);
  228.                     }else{
  229.                         $tabTraiteZone[$uneZone["id"]]['article'] =  array();
  230.                     } 
  231.                     $tabTraiteZone[$uneZone["id"]]['categorie'] =  array();
  232.                     $tabTraiteZone[$uneZone["id"]]['produit'] =  array();
  233.                     //var_dump( $tabTraiteZone);exit;
  234.                 } elseif($uneZone["typeElement"]== ){// Affichage des sous rubriques d'une rubrique
  235.                     $uneRub $rubriqueRepository->getAllOrOneRubrique($uneZone["pointeVers"]);   
  236.                     $tabTraiteZone[$uneZone["id"]]['rubrique'] =  $uneRub;  
  237.                     
  238.                     $tabTraiteZone[$uneZone["id"]]['typeInfo'] =$uneZone["typeElement"]; 
  239.                     if($uneRub !=null ){
  240.                         $tabTraiteZone[$uneZone["id"]]['rubrique'] =$rubriqueRepository->getAllOrOneRubriqueSousActif($uneZone["pointeVers"]);    
  241.                         
  242.                         
  243.                     }else{
  244.                         
  245.                     }
  246.                 } elseif($uneZone["typeElement"]== ){// Affichage des produits
  247.                     
  248.                     $tabTraiteZone[$uneZone["id"]]['typeInfo'] =$uneZone["typeElement"]; 
  249.                     $tabTraiteZone[$uneZone["id"]]['categorie'] =  $categorieRepository->getAllCategorieProduit($objetInitial->getTypeAbonne()->getId());
  250.                     $tabTraiteZone[$uneZone["id"]]['produit'] =  array();//$producteurRepository->getAllProduitIdActive($objetInitial->getTypeAbonne()->getId());
  251.                     //array(); //
  252.                     
  253.                 } elseif($uneZone["typeElement"]== ){// Affichage des produits
  254.                     
  255.                     $tabTraiteZone[$uneZone["id"]]['typeInfo'] =$uneZone["typeElement"]; 
  256.                     $tabTraiteZone[$uneZone["id"]]['producteurs'] =  $producteurRepository->getApiAllProducteurCooperative(000,$nbParPage 20$pageActuelle 1$niveau=3$tabVille=array(), $uneZone["pointeVers"]);
  257.                     $tabTraiteZone[$uneZone["id"]]['groupement'] =  $groupementRepository->find($uneZone["pointeVers"]);
  258.                    
  259.                     //getAllCategorieProduit($objetAbonne->getTypeAbonne()->getId());  
  260.                 }elseif($uneZone["typeElement"]== ){// Affichage des produits
  261.                     
  262.                     $tabTraiteZone[$uneZone["id"]]['typeInfo'] =$uneZone["typeElement"]; 
  263.                     $tabTraiteZone[$uneZone["id"]]['producteur'] =  $producteurRepository->find($uneZone["pointeVers"]);//getApiAllProducteurCooperative(0, 0, 0,$nbParPage = 20, $pageActuelle = 1, $niveau=3, $tabVille=array(), $groupement=0);
  264.                     $tabTraiteZone[$uneZone["id"]]['superficie'] = $surfaceAnneeRepository->getSumIntentionProducteur($uneZone["pointeVers"]);
  265.                     $tabTraiteZone[$uneZone["id"]]['groupement'] =  $groupementRepository->getOneProducteurGroupement($uneZone["pointeVers"]);
  266.                     $tabTraiteZone[$uneZone["id"]]['variete'] = $surfaceAnneeRepository->getVarieteIntentionProducteur($uneZone["pointeVers"]);
  267.                     //getAllCategorieProduit($objetAbonne->getTypeAbonne()->getId());  
  268.                 }elseif($uneZone["typeElement"]== ){// Affichage des produits                   
  269.                     $tabTraiteZone[$uneZone["id"]]['typeInfo'] =$uneZone["typeElement"]; 
  270.                     $tabTraiteZone[$uneZone["id"]]['projet'] =  $projetRepository->findBy(["abonne"=>$objetInitial]);//getApiAllProducteurCooperative(0, 0, 0,$nbParPage = 20, $pageActuelle = 1, $niveau=3, $tabVille=array(), $groupement=0);
  271.                 }
  272.                 
  273.             }
  274.         }
  275.         if($objetInitial != null ){
  276.             $listeProduit1 $produitRepository->getAllProduitClientSiteWebAPI(3,$objetInitial->getId(), 0);
  277.             $listeProduit2 $produitRepository->getAllProduitProduitFini(0,$objetInitial->getId(), 0);
  278.             $listeCategorie1 $produitRepository->getAllCategorieProduitParent(0,$objetInitial->getId(), 1);
  279.             $listeCategorie2 $produitRepository->getAllCategorieProduitFini(0,$objetInitial->getId(), 0);
  280.             $listeCategorie3 $produitRepository->getAllCategorieTransforme(0,$objetInitial->getId(), 0);
  281.         } else{
  282.             $listeProduit1 = array();
  283.             $listeProduit2 = array();
  284.             $listeCategorie1 = array();
  285.             $listeCategorie2 = array();
  286.             $listeCategorie3 = array();
  287.             
  288.         } 
  289.         $listeCategorie array_merge($listeCategorie1$listeCategorie2$listeCategorie3);
  290.         $listeProduit array_merge($listeProduit1$listeProduit2);
  291.         //var_dump($listeProduit);exit;
  292.         // }
  293.        if($template != null ){
  294.             $this->redirect($this->generateUrl('app_login'));
  295.             if($template->getNomDossierTemplate()==''){
  296.                 $nomTemplate "Default";
  297.             }else{
  298.                 $nomTemplate $template->getNomDossierTemplate();
  299.             }
  300.        }else{
  301.             $nomTemplate "Default";
  302.             return $this->redirect($this->generateUrl('app_login'));
  303.             //var_dump(1);exit;
  304.        }
  305.         
  306.         if($getInfoPage!=null){
  307.             if($getInfoPage->getTwigPage()==''){
  308.                 $nomTemplate "index.html.twig";
  309.             }else{
  310.                 $nomTwig $getInfoPage->getTwigPage();
  311.             }
  312.         }else{
  313.             $nomTwig "index.html.twig";
  314.         }
  315.         
  316.         
  317.         $this->data['tabTraiteZone'] = $tabTraiteZone;
  318.         $this->data['listeZone'] = $listeZone;
  319.         $this->data['listeMenu'] = $listeMenu;
  320.         $this->data['listeProduit'] = $listeProduit;
  321.         $this->data['listeCategorie'] = $listeCategorie;
  322.         $this->data['typeSite'] = $typeSite;
  323.         $this->data['objetAbonne'] = $objetInitial;
  324.        
  325.         $this->data['objetGoupement'] = $objetInitial;
  326.         $this->data['zoneRepository'] = $zoneRepository;
  327.       // var_dump($nomTemplate);exit;
  328.       //  var_dump($nomTemplate,$nomTwig);exit;
  329.         return $this->render('site'.'/'.$nomTemplate.'/'.$nomTwig$this->data);
  330.     } 
  331.     
  332.     
  333.     function classerIncrZoneAfficher(){
  334.         
  335.     }
  336. //    public function detailsArticleRubriqueAction(Request $request)
  337. //    {
  338. //        $em = $this->getDoctrine()->getManager();
  339. //
  340. //        //Recupération des activités
  341. //        
  342. //        $rubrique = $em->getRepository('adminCmsBundle:Rubrique')->findAll();
  343. //        $this->data['rubriques'] = $rubrique;
  344. //        return $this->render('site/Site/detailsRubrique.html.twig', $this->data);
  345. //    }
  346.  
  347.     
  348.     public function catalogueAction(Request $requestMenuRepository $menuRepository,  AbonneRepository $abonneRepository
  349.     GroupementRepository $groupementRepositoryTemplateRepository $templateRepositoryPageRepository $pageRepository,
  350.     ZoneRepository $zoneRepository,  CaracteristiquePrixRepository $caracteristiquePrixRepository,  CibleRepository $cibleRepository ,  ProduitRepository $produitRepository)
  351.     {
  352.         //Liste des bannières
  353.         
  354.         $em $this->getDoctrine()->getManager();
  355.         $adresseWeb $request->getHost();
  356.         $template null;
  357.        
  358.         $objetInitial $abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  359.         //$objetAbonne= $abonneRepository->find(2);
  360.         //Carateristique produit
  361.         $listeCarateristiquePrix $caracteristiquePrixRepository->findBy(['abonne'=>$objetInitial]);
  362.         $listeCible $cibleRepository->findBy(['abonne'=>$objetInitial]);
  363.         $listeProduit$produitRepository->findBy(['abonne'=>$objetInitial]);
  364.         $tabPrix = array();
  365.         foreach ($listeCarateristiquePrix as $uneCarateristiquePrix) {   
  366.             foreach ($listeProduit as $unProduit) { 
  367.                 foreach ($listeCible as $uneCible) {  
  368.                         $tabPrix[$uneCarateristiquePrix->getId()][$unProduit->getId()][$uneCible->getId()]= $em->getRepository($this->stockBundle 'PrixRigueur')->findOneBy(['cible'=>$uneCible'produit'=>$unProduit,  'caracteristiquePrix'=>$uneCarateristiquePrix]);
  369.                 }
  370.             }
  371.         }
  372.         $listeProduit $produitRepository->getAllProduitClientMobileAPI(0,$objetInitial->getId(), 0);
  373.         $listeCategorie $produitRepository->getAllCategorieMobileAPI(0,$objetInitial->getId(), 1);
  374.         $listeProduit1 $produitRepository->getAllProduitClientSiteWebAPI(3,$objetInitial->getId(), 0);
  375.         $listeProduit2 $produitRepository->getAllProduitProduitFini(0,$objetInitial->getId(), 0);
  376.         $listeCategorie1 $produitRepository->getAllCategorieProduitParent(0,$objetInitial->getId(), 1);
  377.         
  378.         //var_dump($listeCategorie1);
  379.         $listeCategorie2 $produitRepository->getAllCategorieProduitFini(0,$objetInitial->getId(), 0);
  380.         //var_dump($listeCategorie2);exit;
  381.         $listeCategorie3 $produitRepository->getAllCategorieTransforme(0,$objetInitial->getId(), 0);
  382.         //var_dump($listeCategorie3);
  383.         $listeCategorie array_merge($listeCategorie1$listeCategorie2$listeCategorie3);
  384.         $listeProduit array_merge($listeProduit1$listeProduit2);
  385.        
  386.         $typeSite 1;
  387.         if($typeSite == 1)
  388.             $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(),$menuRepository);   
  389.         else
  390.             $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository);  
  391.         
  392.         $this->data['typeSite'] = $typeSite;
  393.         $this->data['listeCarateristiquePrix']=$listeCarateristiquePrix;
  394.         $this->data['listeCible']=$listeCible;
  395.         $this->data['listeProduit']=$listeProduit;
  396.         $this->data['listeCategorie']=$listeCategorie;
  397.         $this->data['tabPrix'] =$tabPrix;
  398.         $this->data['listeMenu'] = $listeMenu;
  399.         $this->data['objetAbonne'] =$objetInitial;
  400.         $this->data['zoneRepository'] = $zoneRepository;
  401.         return $this->render('site/Site/catalogue.html.twig'$this->data);
  402.     }
  403.     /**
  404.      * Methode s'occupant de l'ajout d'une commande.
  405.      *
  406.      * @author armand.tevi@gmail.com
  407.      * @copyright ADMIN 2015
  408.      *
  409.      * @version 1
  410.      *
  411.      * @return twig d'ajout d'un abonne ajouterproduit.html.twig
  412.      */
  413.     public function commandeClientAction(Request $requestMenuRepository $menuRepository,  AbonneRepository $abonneRepository
  414.     GroupementRepository $groupementRepositoryTemplateRepository $templateRepositoryPageRepository $pageRepository,
  415.     ZoneRepository $zoneRepository,  CategorieProduitRepository $categorieRepository,  CibleRepository $cibleRepository ,
  416.     ProduitRepository $produitRepositoryCommandeClientRepository $commandeClientRepository) {
  417. //var_dump(1);exit;
  418.         $em $this->getDoctrine()->getManager();
  419.         $adresseWeb $request->getHost();
  420.         $template null;
  421.         $objetAbonne $abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  422.         
  423.         /*
  424.          * Création du formulaire par rapport a l'entité commandetmp
  425.          */
  426.        // $uneLigneCommande = new LigneCommandeTmp();
  427.        // $form = $this->createForm(LigneCommandeTmpType::class, $uneLigneCommande);
  428.         //$objetUtilisateur = $em->getRepository($this->userBundle . 'Utilisateur')->find($sessionData['id']);
  429.         
  430.        /* $listeClient = $em->getRepository($this->clientBundle . 'Client')->find($sessionData['id']);
  431.         if($objetUtilisateur->getCaisse() ==null ){
  432.             $listeClient  = $em->getRepository($this->clientBundle . 'Client')->findBy(['abonne'=>$objetUtilisateur->getAbonne(),'etatClient'=>1]);  //getAllClient(0, 0, 0, 0, 0, 0, 1, 1,0,5,0,0,$sessionData['abonneId']);
  433.         }else{
  434.             $listeClient  = $em->getRepository($this->clientBundle . 'Client')->getAllClientCaisse($objetUtilisateur->getAbonne()->getId(), $objetUtilisateur->getCaisse()->getId());  //getAllClient(0, 0, 0, 0, 0, 0, 1, 1,0,5,0,0,$sessionData['abonneId']);
  435.         }
  436.         $listeTable  = $em->getRepository($this->stockBundle . 'TableMange')->findBy(['abonne'=>$objetUtilisateur->getAbonne(),'etatTable'=>1]);  //getAllClient(0, 0, 0, 0, 0, 0, 1, 1,0,5,0,0,$sessionData['abonneId']);
  437.         */
  438.         $listeCategorie $categorieRepository->getAllCategorieProduit($objetAbonne->getId()); 
  439.        /* if($objetUtilisateur->getCaisse() ==null ){
  440.             foreach($listeCategorie as $uneCategorie){
  441.                 $listeProduit[$uneCategorie->getId()]  = $em->getRepository($this->stockBundle . 'Produit')->getAllProduitCategorieAjax($uneCategorie->getId(),$objetAbonne->getId());     //$uneCategorie->getId()          
  442.             }
  443.         }else{
  444.             foreach($listeCategorie as $uneCategorie){
  445.                 $listeProduit[$uneCategorie->getId()]  = $em->getRepository($this->stockBundle . 'Produit')->getAllProduitCaisseWithPrix($objetAbonne->getId(), 6, $uneCategorie->getId());     //$uneCategorie->getId()     //getAllProduitCaisse     
  446.             } 
  447.        // }*/
  448.         
  449.          $listeCategorie =$produitRepository-> getAllCategorieMobileAPI(0,$objetAbonne->getId(), 1);
  450.         
  451.          $listeProduit =$produitRepository-> getAllProduitClientMobileAPI(0,$objetAbonne->getId(), 0);
  452.         /*foreach($listeCategorie as $uneCategorie){
  453.             $listeProduit[$uneCategorie["id"]]  = $em->getRepository($this->stockBundle . 'Produit')-> getAllProduitClientMobileAPI(0,$objetAbonne->getId(), 0, $uneCategorie["codeGenere"]);     //$uneCategorie->getId()          
  454.         }*/
  455.         $d = new \DateTime();
  456.         $an $d->format('Y');
  457.         $m $d->format('m');
  458.         $j $d->format('d');
  459.         $refCommande $this->getRefCommande($em, (int) 1$an$m$entite 'COMMANDE'$taille 5$objetAbonne->getId());
  460.         $dateJour $j."/".$m."/".$an;
  461.         //$uneCommande = $em->getRepository($this->stockBundle . 'CommandeClient')->find(2000);
  462.         //if($uneCommande == null ){
  463.                 $uneCommande $commandeClientRepository->findOneBy(['siRetrait'=>1'abonne'=>$objetAbonne]);
  464.                
  465.                 if($uneCommande == null){
  466.                     $uneCommande = new CommandeClient();
  467.                     $uneCommande->setCodeCommande($refCommande);
  468.                     $uneCommande->setDescriptionCommande("Evoluer ".$refCommande);
  469.                 }
  470.                 $uneCommande->setAnnule(FALSE);
  471.                 $uneCommande->setEtatCommande(1);
  472.                 //$uneCommande->setUtilisateur($objetUtilisateur);
  473.                 $uneCommande->setRefBonCommande($refCommande);
  474.                 $uneCommande->setCodeGenere($refCommande);
  475.                 $uneCommande->setTauxEchange(0);
  476.                 /*if($type == 0)
  477.                     $uneCommande->setSiRetrait(1);
  478.                 else*/
  479.                     $uneCommande->setSiRetrait(0);
  480.                 
  481.                 $uneCommande->setDateCommande(new \DateTime());
  482.                 $uneCommande->setDateModification(new \DateTime());
  483.                 $uneCommande->setAbonne($objetAbonne);
  484.                 $uneCommande->setDatePublication(new \DateTime());
  485.                 //if($type == 0){
  486.                     $uneCommande->setMontantResteCommande(0);
  487.                     //$uneCommande->setMontantCommande(0);
  488.                 //}
  489.                 $uneCommande->setTypeCommande(3);
  490.                 $em->persist($uneCommande);
  491.                 $em->flush();
  492.                 
  493.                 //if($type != 0)
  494.                    //return $this->redirect($this->generateUrl('admin_vente_evoluee'));
  495.         //}
  496.         //traitement des menus
  497.         $listeMenu $this->creerTabMenu($em,0,0$menuRepository);
  498.         $typeSite 1;
  499.         $this->data['listeProduit'] = $listeProduit;
  500.         $this->data['listeCategorie'] = $listeCategorie;
  501.         $this->data['listeMenu'] = $listeMenu;
  502.         $this->data['typeSite'] = $typeSite;
  503.         //$this->data['listeClient'] = $listeClient;
  504.         //$this->data['listeTable'] = $listeTable;
  505.         $this->data['dateJour'] = $dateJour ;
  506.         $this->data['uneCommande'] = $uneCommande;
  507.         //$this->data['objetUtilisateur'] = $objetUtilisateur;
  508.         $this->data['objetAbonne'] = $objetAbonne;
  509.         $this->data['zoneRepository'] = $zoneRepository;
  510.         //$this->data['locale'] = $locale;
  511.         return $this->render('site/Site/commandeClient.html.twig'$this->data);
  512.     }
  513.     
  514.     /* @copyright ADMIN 2015
  515.     *
  516.     * @version 1
  517.     *
  518.     * @return twig d'ajout d'un abonne detailOperation.html.twig
  519.     */
  520. public function incrementerLigneCommandeClientAction(Request $request,  AbonneRepository $abonneRepository
  521. GroupementRepository $groupementRepositoryTemplateRepository $templateRepositoryPageRepository $pageRepository,
  522. ZoneRepository $zoneRepository,  CategorieProduitRepository $categorieRepository,  CibleRepository $cibleRepository ,
  523. ProduitRepository $produitRepositoryCommandeClientRepository $commandeClientRepository 
  524. LigneCommandeClientRepository $ligneCommandeClientRepositoryUtilisateurRepository $utilisateurRepository ) {
  525.     
  526.     $tabLivrer = array();
  527.     $tabLigneCommande = array();
  528.     /*
  529.         * Traitement de la requete qui vient de la vue
  530.         * on vérifie si la requete est Ajax et si la methode est post
  531.         */
  532.     if (($request->isXmlHttpRequest()) && ($request->getMethod() == 'POST')) {
  533.         //Recuperation du code de la commande 
  534.         $commandeId$request->get('commandeId');
  535.         
  536.         $produitId$request->get('produitId');
  537.         $quantite$request->get('quantite');
  538.        // $quantite = 0;
  539.         $prix=$request->get('prix');
  540.         //var_dump($idLigneCmde, $pourcentage);exit;
  541.         $em $this->getDoctrine()->getManager();
  542.         //var_dump($commandeId);exit;
  543.         //$objetUtilisateur =  $em->getRepository($this->userBundle . 'Utilisateur')->find($sessionData['id']);
  544.         $operationManager $this->get('operation_manager');
  545.         $objetProduit $produitRepository->find($produitId);
  546.         $objetCommande $commandeClientRepository->find($commandeId);
  547.         $detailLigneCommande $ligneCommandeClientRepository->findOneBy(['produit'=>$objetProduit'commandeclient'=>$objetCommande]);
  548.         if($detailLigneCommande == null){
  549.             $codeVente "RV".rand();
  550.            // $quantite = 1;
  551.             $idUtil 9529;
  552.             $objetUtilisateur $utilisateurRepository->find($idUtil);
  553.             $objetPrixRigueur $this->savePrix($em$prix$objetProduit2$objetUtilisateur) ;
  554.             $this->saveLigneCommandeclient($em$codeVentenull$objetCommande $objetProduit$objetPrixRigueur$quantite02) ;
  555.         } else{
  556.             //$quantite = $detailLigneCommande->getQuantite()+1;
  557.             $detailLigneCommande->setQuantite($quantite);
  558.             $em->persist($detailLigneCommande);
  559.             $em->flush();
  560.         }
  561.        
  562.         $j 0;
  563.         $tabInfoGeneral = array();
  564.         foreach ($objetCommande->getLignecommandeclients() as $uneLigneCommande) {
  565.             $i 0;
  566.             $prixTotalReel 0;
  567.             $reference 0;
  568.             $totalLivre 0;
  569.             foreach ($uneLigneCommande->getLivrers() as $uneLivraison) {
  570.                 $tabLivrer[$uneLigneCommande->getId()][$i]['nbreLivre'] = $uneLivraison->getNbreLivre();
  571.                 $tabLivrer[$uneLigneCommande->getId()][$i]['dateLivraison'] = $uneLivraison->getDateLivraison();
  572.                 $tabLivrer[$uneLigneCommande->getId()][$i]['nbreReste'] = $uneLivraison->getNbreReste();
  573.                 $tabLivrer[$uneLigneCommande->getId()][$i]['ref'] = $uneLivraison->getRefBonLivraison();
  574.                 $tabLivrer[$uneLigneCommande->getId()][$i]['prixUnitaire'] = $uneLivraison->getLigneCommande()->getPrixrigueur()->getInfoPrixRigueur();
  575.                 $prixTotal = (int) $uneLivraison->getNbreLivre() * $uneLivraison->getLigneCommande()->getPrixrigueur()->getInfoPrixRigueur();
  576.                 $tabLivrer[$uneLigneCommande->getId()][$i]['prixTotal'] = (String) $prixTotal;
  577.                 $i++;
  578.                 $reference $uneLivraison->getRefBonLivraison();
  579.                 $prixTotalReel$prixTotalReel $prixTotal;
  580.                 $totalLivre $totalLivre $uneLivraison->getNbreLivre();
  581.             }
  582.             $tabLigneCommande[$j]["id"] = $uneLigneCommande->getId();
  583.             $tabLigneCommande[$j]["produit"] = $uneLigneCommande->getProduit()->getNomProduit();
  584.             //Get Information dernierre commande
  585.             /*$ligneDernCommande = $em->getRepository($this->stockBundle . 'LigneCommande')->findOneby(['produit'=>$uneLigneCommande->getProduit(),'suivantCommande'=>$uneLigneCommande->getId()]);
  586.             $tabLigneCommande[$j]["id"] = $uneLigneCommande->getId();
  587.             $tabLigneCommande[$j]["produit"] = $uneLigneCommande->getProduit()->getNomProduit();
  588.             if($ligneDernCommande != null){
  589.                 $tabLigneCommande[$j]["oldQuantite"] = $ligneDernCommande->getQuantite();
  590.                 $tabLigneCommande[$j]["oldDateCommande"] = $ligneDernCommande->getCommande()->getDateCommande()->format("d/m/Y");
  591.                 $tabLigneCommande[$j]["oldPrix"] = $ligneDernCommande->getPrixRigueur()->getInfoPrixRigueur();
  592.             }else{
  593.                 $tabLigneCommande[$j]["oldQuantite"] = "-";
  594.                 $tabLigneCommande[$j]["oldDateCommande"] = "-";
  595.                 $tabLigneCommande[$j]["oldPrix"] = "-";
  596.             }*/
  597.             $tabLigneCommande[$j]["quantite"] = $uneLigneCommande->getQuantite();
  598.             $tabLigneCommande[$j]["dateCommande"] = $objetCommande->getDateCommande()->format("d/m/Y");
  599.             $tabLigneCommande[$j]["prix"] = $uneLigneCommande->getPrixRigueur()->getInfoPrixRigueur();
  600.             $tabLigneCommande[$j]["nombreLivrer"] = $totalLivre ;
  601.             $tabLigneCommande[$j]["nombrePrix"] = $uneLigneCommande->getPrixRigueur()->getInfoPrixRigueur();
  602.             $j++;
  603.         }
  604.     
  605.         $montantTotalCommande $ligneCommandeClientRepository->sumLigneCommande($objetCommande->getId());
  606.         $objetCommande->setMontantCommande($montantTotalCommande); //
  607.         $em->persist($objetCommande);    
  608.         $em->flush($objetCommande);
  609.         
  610.         
  611.         $tabInfoGeneral['prixTotalReel']= $prixTotalReel;
  612.         $tabInfoGeneral['reference'] = $reference;
  613.         $tabInfoGeneral['codeCommande'] =  $objetCommande->getCodeCommande();
  614.         $tabInfoGeneral['commandeId'] =  $objetCommande->getId();
  615.         $tabInfoGeneral['fournisseur'] =   "TEST";//$detailCommande[0]->getFournisseur()->getNomFournisseur();
  616.         $tabInfoGeneral['dateCommande'] =  $objetCommande->getDateCommande()->format("d/m/Y");
  617.         $tabInfoGeneral['totalLivre'] = $totalLivre;
  618.         $rep['reponse'] = $tabLivrer;
  619.         $rep['infoGenerale'] = $tabInfoGeneral;
  620.         $rep['lignecommande'] = $tabLigneCommande;
  621.         // var_dump($listeLigneCommande);exit;
  622.         $rep['etat'] = 1;
  623.     }
  624.     return new Response(json_encode($rep));
  625. }
  626. public function getTracabiliteAction(Request $request$codeLotSacRepository $sacRepository
  627. InfoLivrerRepository $infoLivrerRepositoryCommandeRepository $commandeRepositoryProducteurGroupementRepository $producteurGroupementRepository,
  628. ZoneRepository $zoneRepository )
  629. {
  630.         $em $this->getDoctrine()->getManager();
  631.         $objetAbonne null;
  632.         $objetProducteur null;
  633.         $objetProducteurGroupement null;
  634.         $objetCommande  =null;
  635.         $tabCodeLot =  explode("_"$codeLot);
  636.         $objetSac $sacRepository->findOneBy(['codeGenere'=>$codeLot]) ;
  637.         $objetInfoLivre $infoLivrerRepository->findOneBy(array('refBonReception'=>$tabCodeLot[0]));
  638.         // var_dump( $tabCodeLot[0], $objetInfoLivre );exit;
  639.         //recuperation et traitement des informations sur les zones
  640.         if($objetInfoLivre != null){
  641.             //information sur l'abonne
  642.             $objetAbonne $objetInfoLivre->getAbonne();
  643.             //information sur le producteur
  644.             if($objetInfoLivre->getCommande() != null)
  645.                 $objetProducteur $objetInfoLivre->getCommande()->getProducteur();
  646.             else
  647.                 $objetProducteur null;
  648.             //Groupement du producteur avec le nombre acteur
  649.             $objetProducteurGroupement $producteurGroupementRepository->findOneBy(array('producteur'=>$objetProducteur));
  650.             //information sur la semence
  651.             $objetCommande $commandeRepository->findOneBy(array('producteur'=>$objetProducteur'typeCommande'=> 6));
  652.             
  653.         }
  654.         $nomTemplate "Default";
  655.         $nomTwig "tracabilite.html.twig";
  656.         $this->data['objetAbonne'] = $objetAbonne;
  657.         $this->data['codeLot'] = $codeLot;
  658.         $this->data['objetSac'] = $objetSac;
  659.     
  660.         $this->data['objetInfoLivre'] = $objetInfoLivre;
  661.         $this->data['objetProducteur'] = $objetProducteur;
  662.         $this->data['objetProducteurGroupement'] = $objetProducteurGroupement;
  663.         $this->data['objetCommande'] = $objetCommande;
  664.         $this->data['zoneRepository'] = $zoneRepository;
  665.         return $this->render('site'.'/'.$nomTemplate.'/'.$nomTwig$this->data);
  666.         
  667.        
  668. }
  669. public function getMapProducteurAction(Request $requestAbonneRepository $abonneRepository,MenuRepository $menuRepository )
  670. {
  671.         $em $this->getDoctrine()->getManager();
  672.         $adresseWeb $request->getHost();
  673.         $objetAbonne null;
  674.         $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  675.         //$objetInitial= $abonneRepository->find(21);
  676.         
  677.         $nomTemplate "Default";
  678.         $nomTwig "carte.html.twig";
  679.         $typeSite 1;
  680.         if($typeSite == 1)
  681.             $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(),$menuRepository);   
  682.         else
  683.             $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository);  
  684.         
  685.         $this->data['typeSite'] = $typeSite;
  686.         $this->data['objetAbonne'] = $objetInitial;
  687.         $this->data['listeMenu'] = $listeMenu;
  688.         return $this->render('site'.'/'.$nomTemplate.'/'.$nomTwig$this->data);
  689.         
  690.        
  691. }
  692. public function getArticleProducteurAction(Request $request,$idProd,ArticleRepository $articleRepositoryProducteurRepository $producteurRepository,AbonneRepository $abonneRepository,MenuRepository $menuRepository )
  693. {
  694.         $em $this->getDoctrine()->getManager();
  695.         $objetAbonne null;
  696.         $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  697.         //$objetInitial= $abonneRepository->find(21);
  698.         $objetProducteur$producteurRepository->find($idProd);
  699.         $listeArticle $articleRepository->findBy(['producteur'=>$objetProducteur]);
  700.         
  701.         $nomTemplate "Default";
  702.         $nomTwig "articleProducteur.html.twig";
  703.         $typeSite 1;
  704.         if($typeSite == 1)
  705.             $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(),$menuRepository);   
  706.         else
  707.             $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository); 
  708.             
  709.         
  710.         
  711.         $this->data['typeSite'] = $typeSite;
  712.         $this->data['objetAbonne'] = $objetInitial;
  713.         $this->data['listeMenu'] = $listeMenu;
  714.         $this->data['listeArticle'] = $listeArticle;
  715.         
  716.         return $this->render('site'.'/'.$nomTemplate.'/'.$nomTwig$this->data);    
  717.        
  718. }
  719. public function getProduitDetailPublicAction(Request $request,$idProd,ProduitRepository $produitRepositoryProducteurRepository $producteurRepository
  720.                                             ,AbonneRepository $abonneRepository,MenuRepository $menuRepositoryPrixRigueurRepository $prixRigueurRepository)
  721. {
  722.         $em $this->getDoctrine()->getManager();
  723.         $adresseWeb $request->getHost();
  724.         $objetAbonne null;
  725.         $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  726.        //$objetInitial= $abonneRepository->find(62);
  727.         
  728.         $objetProduitDefault $produitRepository->findOneBy(['abonne'=>$objetInitial,'id'=>$idProd]);
  729.         
  730.         $objetProduit $produitRepository->getOneProduitAPI(0,$objetInitial->getId(), 0$objetProduitDefault->getCodeGenere()); //$produitRepository->findBy(['abonne'=>$objetInitial,'id'=>$idProd]);
  731.         
  732.         //liste des données concernant les conditionnements ¨
  733.         $listeConditionne = array();
  734.         if(count($objetProduit)!=0)
  735.             $listeConditionne $produitRepository->getAllProduitConditionne($objetProduit[0]["id"], 0$objetInitial->getId(),$partenaireId=0$typeAction=0);
  736.         $template $objetInitial->getTemplate();
  737.         $typeSite 1;
  738.         if($typeSite == 1)
  739.             $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(),$menuRepository);   
  740.         else
  741.             $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository); 
  742.         if($template != null ){
  743.             if($template->getNomDossierTemplate()==''){
  744.                 $nomTemplate "Default";
  745.             }else{
  746.                 $nomTemplate $template->getNomDossierTemplate();
  747.             }
  748.         }else{
  749.                 $nomTemplate "Default";
  750.         }
  751.         //var_dump($objetProduit);exit;
  752.         //$objetReelProduit     =  $produitRepository->find($objetProduit["id"]);
  753.         //Récuperé les informations sur les catérisitiques
  754.         $listeCarateristique $prixRigueurRepository->getAllCarateristiquePrixByProduitAPI($objetInitial->getId(), $objetProduit[0]["id"]);
  755.         //var_dump($objetProduitDefault->getCodeGenere());exit;
  756.         $nomTwig "cart/detail.html.twig";
  757.         $this->data['typeSite'] = $typeSite;
  758.         $this->data['objetAbonne'] = $objetInitial;
  759.         $this->data['listeMenu'] = $listeMenu;
  760.         $this->data['unProduit'] = $objetProduit;
  761.         $this->data['listeConditionne'] = $listeConditionne;
  762.         $this->data['listeCarateristique'] = $listeCarateristique ;
  763.         
  764.         return $this->render('site'.'/'.$nomTemplate.'/'.$nomTwig$this->data);    
  765.        
  766. }
  767. public function getInfoConditionement(Request $request,PrixRigueurRepository $prixRigueurRepositoryCarateristiqueProduitRepository $carateristiqueProduitRepositoryProduitRepository $produitRepository,AbonneRepository $abonneRepository,MenuRepository $menuRepository )
  768. {
  769.         $em $this->getDoctrine()->getManager();
  770.         $adresseWeb $request->getHost();
  771.         $objetAbonne null;
  772.         $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  773.         //$objetInitial= $abonneRepository->find(21);
  774.         $produitId = (int) $request->get('produitId');
  775.         $produitCondId = (int) $request->get('produitCondId');
  776.         $objetProduit$produitRepository->find($produitId);
  777.         $objetProduitCond$produitRepository->find($produitCondId);
  778.         
  779.         $objetCarateristiqueProduit $carateristiqueProduitRepository->findOneBy(['produit'=>$objetProduit'produitparent'=>$objetProduitCond]);
  780.         //var_dump( $produitId,$produitCondId );exit;
  781.         $objetProduitFini$produitRepository->findOneBy(['carateristiqueproduit'=>$objetCarateristiqueProduit] );
  782.         $objetPrixRigueur$prixRigueurRepository->findOneBy(['produit'=>$objetProduitFini'typePrixRigueur'=>2] );
  783.         
  784.         $listeCarateristiquePrix $prixRigueurRepository->getAllCarateristiquePrixByProduitAPI($objetInitial->getId(), $objetProduitFini->getId());
  785.             // $this->flashMessage->add('produit.gerer.success', $this->translate->trans("site.ajouter.succes"));
  786.         $rep['msg'] = '';
  787.         if($objetPrixRigueur!=null)
  788.             $rep['prixVente'] = $objetPrixRigueur->getInfoPrixRigueur();
  789.         else
  790.             $rep['prixVente'] = "-";
  791.         
  792.         $rep['produitId'] = $objetProduitFini->getId();
  793.        
  794.         $rep['produitNom'] = $objetProduitFini->getNomProduit();
  795.         $rep['listeCarateristiquePrix'] = $listeCarateristiquePrix;
  796.         
  797.         return new Response(json_encode($rep));    
  798.        
  799. }
  800. public function getInfoPrixByCarateristiqueAction(Request $request,PrixRigueurRepository $prixRigueurRepositoryCarateristiqueProduitRepository $carateristiqueProduitRepositoryProduitRepository $produitRepository,AbonneRepository $abonneRepository,MenuRepository $menuRepository )
  801. {
  802.         $em $this->getDoctrine()->getManager();
  803.         $adresseWeb $request->getHost();
  804.         $objetAbonne null;
  805.         $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  806.         //$objetInitial= $abonneRepository->find(21);
  807.         $produitId = (int) $request->get('produitId');
  808.         $carateristiqueProduit = (int) $request->get('carateristiqueProduit');
  809.         $objetProduit$produitRepository->find($produitId);
  810.         //$objetProduitCond= $produitRepository->find($produitCondId);
  811.         //$objetCarateristiqueProduit = $carateristiqueProduitRepository->findOneBy(['produit'=>$objetProduit, 'produitparent'=>$objetProduitCond]);
  812.         $listeCarateristiquePrix $prixRigueurRepository->getPrixByCarateristiqueProduit($objetInitial->getId(), $objetProduit->getId(),$carateristiqueProduit  );//$prixRigueurRepository->getAllCarateristiquePrixByProduitAPI($objetInitial->getId(), $objetProduit->getId());
  813.         $rep['msg'] = '';
  814.         if($listeCarateristiquePrix !=null)
  815.             $rep['prixVente'] = $listeCarateristiquePrix[0]['infoPrixRigueur'];
  816.         else
  817.             $rep['prixVente'] = "-";
  818.         
  819.         $rep['produitId'] = $objetProduit->getId();
  820.         $rep['produitNom'] = $objetProduit->getNomProduit();
  821.         $rep['listeCarateristiquePrix'] = $listeCarateristiquePrix;
  822.         if($objetInitial->getDevise() != null)
  823.             $rep['devise'] = $objetInitial->getDevise()->getLibelle();
  824.         else
  825.             $rep['devise'] = "XOF";
  826.         
  827.         return new Response(json_encode($rep));    
  828.        
  829. }
  830. public function listePublicProjetAction(Request $requestMenuRepository $menuRepositoryAbonneRepository $abonneRepository
  831. GroupementRepository $groupementRepositoryTemplateRepository $templateRepositoryPageRepository $pageRepository,
  832. ZoneRepository $zoneRepositoryProjetRepository $projetRepository)
  833. {
  834.     
  835.     $em $this->getDoctrine()->getManager();
  836.     $adresseWeb $request->getHost();
  837.     //recuperation et traitement des informations sur les zones
  838.     $objetInitial$abonneRepository->findOneBy(['adresseWeb'=>$adresseWeb]);
  839.     $projet $projetRepository->getAllProjet($objetInitial->getId());
  840.     //traitement des menus
  841.     $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository);
  842.     if($objetInitial == null ){
  843.         $template $templateRepository->find(20);
  844.     }else{
  845.         $template $objetInitial->getTemplate();
  846.         // $template = $em->getRepository($this->cmsBundle . 'Template')->find(1);
  847.     }
  848.     $typeSite 1;
  849.     if($template->getNomDossierTemplate()==''){
  850.         $nomTemplate "Default";
  851.     }else{
  852.         $nomTemplate $template->getNomDossierTemplate();
  853.     } //recuperation et traitement des informations sur les zones
  854.        
  855.      //traitement des menus
  856.      //$listeMenu = $this->creerTabMenu($em,0,0,$menuRepository);
  857.      if($typeSite == 1)
  858.         $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(),$menuRepository);   
  859.     else
  860.         $listeMenu $this->creerTabMenu($em,0,$objetInitial->getId(), $menuRepository);  
  861.     $nomTwig "projet.html.twig";
  862.     
  863.    // $etablissements = $em->getRepository($this->scolariteBundle . 'Etablissement')->getAllActifEtablissementAccueil();
  864.     //$rubriques = $em->getRepository('adminCmsBundle:Rubrique')->findAll();
  865.     $typeSite=1;
  866.     $this->data['listeProjet'] = $projet;
  867.    // $this->data['listeEtablissement'] = $etablissements;            
  868.     $this->data['listeMenu'] = $listeMenu;
  869.     $this->data['objetInitial'] = $objetInitial;
  870.     $this->data['objetAbonne'] = $objetInitial;
  871.     $this->data['typeSite'] = $typeSite;
  872.     //$this->datas['rubriques'] = $rubriques;
  873.    // var_dump('adminSiteBundle'.':'.$nomTemplate.':'.$nomTwig);exit;
  874.     return $this->render('site/'.$nomTemplate.'/'.$nomTwig$this->data);
  875. }   
  876.     
  877. }