src/Controller/site/SiteController.php line 181

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