src/Controller/site/SiteController.php line 471

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