src/Controller/EvenementController.php line 29

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  9. use Symfony\Component\DependencyInjection\ContainerInterface as Container;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use App\Repository\AdministrateursRepository;
  12. use App\Repository\GroupeRestrictionRepository;
  13. use App\Repository\GroupeRestrictionPageRepository;
  14. use DateTime;
  15. use App\Entity\Pays;
  16. use App\Entity\Etat;
  17. use App\Entity\HistoriqueEvenement;
  18. use App\Entity\Evenement;
  19. use App\Entity\PiecesEvenement;
  20. use App\Entity\Competences;
  21. class EvenementController extends AbstractController
  22. {
  23.     public function __construct(SessionInterface $session Container $container EntityManagerInterface $em )
  24.     {
  25.         $this->em $em ;
  26.         $this->session $session ;
  27.     }
  28.     #[Route('/evenement'name'app_evenement')]
  29.     public function index(Request $request,AdministrateursRepository $AdministrateursRepository,GroupeRestrictionRepository $groupeRestrictionRepository,GroupeRestrictionPageRepository $grouprestrictionpageRepository): Response
  30.     {
  31.         $accessArray=[];
  32.         $niveauAcessPages = [];
  33.         $groupeRestrictions = [];
  34.         if( ($this->session->get('susrD3p9LjjY86') == 'gA64ya3G5N') && ($request->hasSession()) ){
  35.             $admin $this->session->get('supAdT9m2XJzn4');
  36.         }else if(($this->session->get('supAdT9m2XJzn4') != null) && ($request->hasSession())){
  37.             $admin $AdministrateursRepository->findOneBy(['email'=>$this->session->get('supAdT9m2XJzn4')['email']]);
  38.             $adminId $admin->getId();
  39.             $groupeRestrictions $groupeRestrictionRepository->findByAdminId($adminId);
  40.             $restrictionPages $grouprestrictionpageRepository->findByRestriction($groupeRestrictions[0]->getId());
  41.             $accessArray $restrictionPages[0]->getAccess();
  42.             $niveauAcessPagesCollection $restrictionPages[0]->getNiveauAcessPages();
  43.             $niveauAcessPagesCollection->initialize();
  44.             $niveauAcessPages $niveauAcessPagesCollection->toArray();
  45.         }else {
  46.             return $this->redirectToRoute('connexion');
  47.         }
  48.         
  49.         $pays $this->em->getRepository(Pays::class)->findAll();
  50.         $etat $this->em->getRepository(Etat::class)->findAll();
  51.         $query $this->em->createQuery(
  52.             'SELECT cj
  53.             FROM App\Entity\CoutJournalier cj
  54.             JOIN cj.type tc
  55.             WHERE tc.nom = \'Evènement\'
  56.             '
  57.         );
  58.         $coutsJournaliers $query->getResult();
  59.         return $this->render('evenement/evenement.html.twig', [
  60.             'admin' => $admin,
  61.             'pays' => $pays,
  62.             'etats' => $etat,
  63.             'access' => $accessArray,
  64.             'pages' => $niveauAcessPages,
  65.             'CoutJournalier'=>$coutsJournaliers[0],
  66.         ]);
  67.     }
  68.     /**
  69.      * @Route("/serverEvenement", name="serverEvenement", methods={"GET","POST"}, options = {"expose" = true})
  70.      */
  71.     public function serverEvenement(Request $request,AdministrateursRepository $AdministrateursRepository): Response
  72.     {
  73.         if (($this->session->get('susrD3p9LjjY86') == 'gA64ya3G5N') && ($request->hasSession())) {
  74.             $admin $this->session->get('supAdT9m2XJzn4');
  75.             $sql_where_geo '';
  76.         } else {
  77.             $admin $AdministrateursRepository->findOneBy(['email' => $this->session->get('supAdT9m2XJzn4')['email']]);
  78.             /* $adminCodesGeo = $admin->getGeo();
  79.             if (!empty($adminCodesGeo) && $adminCodesGeo[0] !== "") {
  80.                 foreach ($adminCodesGeo as $code) {
  81.                     if (str_ends_with($code, '*')) {
  82.                         $conditions[] = "u.code_pays_dep LIKE '" . rtrim($code, '*') . "%'";
  83.                     } else {
  84.                         $conditions[] = "u.code_pays_dep = '$code'";
  85.                     }
  86.                 }
  87.                 $sql_where_geo = implode(' OR ', $conditions);
  88.             } else {
  89.                 $sql_where_geo = '';
  90.             } */
  91.         }
  92.         $sql_where "" ;
  93. //        $sql_where .= ' AND (ARRAY_CONTAINS(u.motCles, @searchValue) OR u.titre LIKE "%'.$searchValue.'%")';
  94.         if($request->get('search')['value']!=""){
  95.             $searchValue $request->get('search')['value'];
  96.             
  97.            //$sql_where .= ' AND ( u.id LIKE \'%'.$request->get('search')['value'].'%\' )';
  98.             $sql_where .= ' AND ( u.titre LIKE \'%'.$request->get('search')['value'].'%\' )';
  99.        }
  100.          
  101.         $user_array = [] ;
  102.         
  103.         $limit =  $request->get('length') ;
  104.             
  105.         $offset $request->get('start') ;
  106.         
  107.         $array_search = array();
  108.         
  109.         $columns = ['u.id','u.etat'];
  110.         
  111.         $orders = [] ;
  112.         
  113.         for($i=$i<count($request->get('order')) ;$i++ ){
  114.             
  115.              $orders[] = $columns$request->get('order')[$i]['column'] ].' '.$request->get('order')[$i]['dir'] ;
  116.             
  117.         }
  118.         
  119.         if( count($orders)>0){
  120.         $order " ORDER BY ".implode(' , ',$orders) ;
  121.         }
  122.         else{
  123.         $order "" ;  
  124.         }
  125.         
  126.         $total_evenements = [];
  127.         
  128.         $total_evenements $this->em->createQuery(
  129.             'SELECT u 
  130.             FROM App\Entity\Evenement u
  131.             
  132.             
  133.             WHERE 1=1  ' $sql_where.'
  134.              
  135.             '
  136.             )
  137.                 
  138.             ->getResult()  ;
  139.       
  140.                 
  141.         
  142.         $I_nbResultatsTotal count$total_evenements ) ;
  143.         
  144.         $selectedStatusId $request->get('status_id');
  145.         if ($selectedStatusId !== null) {
  146.             $whereClause " AND u.etat = '$selectedStatusId'";
  147.         } else {
  148.             $whereClause " AND u.etat = '4'";
  149.         }
  150.         $evenements = [];
  151.         $adminEvents=[];
  152.         $evenements $this->em->createQuery(
  153.             'SELECT u
  154.             FROM App\Entity\Evenement u
  155.             WHERE 1=1 ' $sql_where ' ' $whereClause ' ' $order
  156.         )
  157.             ->setMaxResults($limit)
  158.             ->setFirstResult($offset)
  159.             ->getResult();
  160.             
  161.                 if (($this->session->get('susrD3p9LjjY86') == 'gA64ya3G5N') && ($request->hasSession())) {
  162.                     // Si l'utilisateur est un administrateur et qu'une session est en cours
  163.                     $adminEvents=$evenements;
  164.                 } else {
  165.                     foreach ($evenements as $event) {
  166.                         $geoCibles $admin->getGeo();
  167.                         $paysEvent=$event->getDepartement()->getPays()->getId();
  168.                         $paysEventCode$event->getDepartement()->getPays()->getAlpha2();
  169.                         $cpEvent=$event->getCp();
  170.                         //dd($cpEvent,$geoCibles,in_array($paysEventCode, $geoCibles),$paysEventCode.'*',$paysEventCode.substr($cpEvent, 0, 3));
  171.                        
  172.                        if (!empty($admin->getPaysGeo()) && empty($geoCibles) && in_array($paysEvent,$admin->getPaysGeo() )) {
  173.                           
  174.                         $adminEvents[]=$event;
  175.                        }
  176.                        elseif(!empty($geoCibles)&&(in_array($paysEventCode$geoCibles) || in_array($paysEventCode.'*'$geoCibles) || in_array($paysEventCode.substr($cpEvent02), $geoCibles)|| in_array($paysEventCode.substr($cpEvent03), $geoCibles)|| in_array($paysEventCode.substr($cpEvent04), $geoCibles)))
  177.                        {  
  178.                            $adminEvents[] = $event;
  179.                        }
  180.            
  181.                
  182.                    }
  183.                 }
  184.                
  185.         /*if (($this->session->get('susrD3p9LjjY86') == 'gA64ya3G5N') && ($request->hasSession())) {
  186.             // Si l'utilisateur est un administrateur et qu'une session est en cours
  187.             $evenements = $this->em->createQuery(
  188.                 'SELECT u
  189.                 FROM App\Entity\Evenement u
  190.                 WHERE 1=1 ' . $sql_where . ' ' . $whereClause . ' ' . $order
  191.             )
  192.                 ->setMaxResults($limit)
  193.                 ->setFirstResult($offset)
  194.                 ->getResult();
  195.         } else {
  196.             // Récupérer les pays géographiques de l'administrateur
  197.             $paysGeo = $admin->getPaysGeo();
  198.             
  199.             // Si $paysGeo n'est pas null, filtrer par pays
  200.             if ($paysGeo !== null) {
  201.                 $paysIds = [];
  202.                 foreach ($paysGeo as $pays) {
  203.                     if (is_string($pays)) {
  204.                         // Si $pays est une chaîne de caractères, alors c'est déjà un ID de pays
  205.                         $paysIds[] = $pays;
  206.                     } elseif (is_object($pays) && method_exists($pays, 'getId')) {
  207.                         // Si $pays est un objet avec une méthode getId(), alors c'est un objet Pays
  208.                         $paysIds[] = $pays->getId();
  209.                     }
  210.                 }
  211.                 
  212.                 // Récupérer les événements liés à des départements ayant des pays associés aux IDs récupérés
  213.                 $evenements = $this->em->createQueryBuilder('u')
  214.                     ->select('u')
  215.                     ->from('App\Entity\Evenement', 'u')
  216.                     ->join('u.departement', 'd')
  217.                     ->join('d.pays', 'p')
  218.                     ->where('p.id IN (:paysIds)')
  219.                     ->setParameter('paysIds', $paysIds)
  220.                     ->setMaxResults($limit)
  221.                     ->setFirstResult($offset)
  222.                     ->getQuery()
  223.                     ->getResult();
  224.             } else {
  225.                 // Si $paysGeo est null, ne pas filtrer par pays et récupérer tous les événements
  226.                 $evenements = $this->em->createQuery(
  227.                     'SELECT u
  228.                     FROM App\Entity\Evenement u
  229.                     WHERE 1=1 ' . $sql_where . ' ' . $whereClause . ' ' . $order
  230.                 )
  231.                     ->setMaxResults($limit)
  232.                     ->setFirstResult($offset)
  233.                     ->getResult();
  234.             } 
  235.         }*/
  236.         
  237.             
  238.         
  239.         $output = [] ;
  240.                
  241.         foreach($adminEvents as $evenement){
  242.             
  243.        // dd($evenement->getParticulier()->getNom());
  244.        //
  245.        $user=$evenement->getProprietaire();
  246.        //dd($user,$user->getRoles(0));
  247.           if($user->getRoles(0)==["ROLE_GESTIONNAIRE_FILIALE"]){
  248.            $proprietaire $this->em->createQuery(
  249.                'SELECT g
  250.                FROM App\Entity\GestionnaireFiliale g
  251.                
  252.                WHERE g.user = \''.$user->getId().'\' 
  253.                '
  254.                )
  255.                ->getOneOrNullResult()  ;
  256.           
  257.           
  258.    } 
  259.    elseif ($user->getRoles(0)==["ROLE_GESTIONNAIRE_ENTREPRISE"]) {
  260.        $proprietaire $this->em->createQuery(
  261.            'SELECT g
  262.            FROM App\Entity\GestionnaireEntreprise g
  263.            WHERE g.user = \''.$user->getId().'\' 
  264.            '
  265.            )
  266.            ->getOneOrNullResult()  ;
  267.    } 
  268.    else
  269.    {
  270.    $proprietaire $this->em->createQuery(
  271.        'SELECT p
  272.        FROM App\Entity\Particulier p
  273.        
  274.            WHERE p.user = \''.$user->getId().'\' 
  275.        '
  276.        )
  277.        ->getOneOrNullResult()  ;
  278.    }
  279.         $output[] = [
  280.                 
  281.                 'id'=> $evenement->getId() ,
  282.                 'titre'=> $evenement->getTitre(),
  283.                 'nomProprietaire' => $proprietaire->getNom().' '.$proprietaire->getPrenom(),
  284.                 'mailProprietaire' => $evenement->getMailProprietaire(),
  285.                 'telephoneProprietaire' => $evenement->getTelephoneProprietaire(),
  286.                 'url' => $evenement->getUrl(),
  287.                // 'motCles' =>'--',
  288.               //  'coutJournalier' => $evenement->getCoutJournalier()->getCout(),
  289.                 'cp' => $evenement->getCp(),
  290.                 //'region' => $evenement->getRegion()->getTitre(),
  291.                 'departement' => $evenement->getDepartement()->getNom(),
  292.                 'duree' => $evenement->getDuree(),
  293.                 'dateCreation'=> $evenement->getDateCreation() !== null date_format($evenement->getDateCreation(), 'd/m/Y H:i') : '--',
  294.                 'dateValidation'=> $evenement->getDateValidation() !== null date_format($evenement->getDateValidation(), 'd/m/Y H:i') : '--',
  295.                 'dateEvenement'=> $evenement->getDateEvenement() !== null date_format($evenement->getDateEvenement(), 'd/m/Y H:i') : '--',
  296.                 'dateDebutDiffusion'=> $evenement->getDateDebutDiffusion() !== null date_format($evenement->getDateDebutDiffusion(), 'd/m/Y H:i') : '--',
  297.                 'dateFinDiffusion'=> $evenement->getDateFinDiffusion() !== null date_format($evenement->getDateFinDiffusion(), 'd/m/Y H:i') : '--',
  298.                 'status' => $evenement->getEtat()->getEtat()
  299.         ];
  300.          
  301.         }
  302.         
  303.         $JSON json_encode($output);
  304.         $JSON '{"draw": '.$request->get('draw').',"recordsTotal":'.$I_nbResultatsTotal.',"recordsFiltered":'.$I_nbResultatsTotal.',"data":'.$JSON.'}';
  305.         $response   = new Response($JSON200, ['Content-Type' => 'application/json']);
  306.         return $response;
  307.         
  308.     }
  309.       /**
  310.      * @Route("/modif_evenement/{id}", name="modif_evenement", methods={"GET","POST"} , options={"expose"=true})
  311.      */
  312.     public function modif_evenement(Request $request,int $id): Response{
  313.         
  314.         $evenement $this->em->getRepository(Evenement::class)->find($id);
  315.         if (!$evenement) {
  316.             return new JsonResponse(['status' => 'KOO''message' => 'Entreprise non trouvé !']);
  317.         }
  318.         
  319.         $etatId $request->get('etat_edit');
  320.         $etat $this->em->getRepository(Etat::class)->find($etatId);
  321.         $evenement->setEtat($etat);
  322.         try {
  323.             $this->em->persist($evenement);
  324.             $this->em->flush();
  325.             return new JsonResponse(['status' => 'OK''message' => 'Evenement mis à jour avec succès !']);
  326.         } catch (\Exception $e) {
  327.             return new JsonResponse(['status' => 'error''message' => 'Erreur lors de la modification du evenement : ' $e->getMessage()], Response::HTTP_INTERNAL_SERVER_ERROR);
  328.         }
  329.      
  330.     }
  331.     /**
  332.      * @Route("/get_event_byId/{id}", name="get_event_byId", methods={"GET","POST"} , options={"expose"=true})
  333.      */
  334.     public function get_event_byId($id){
  335.         $evenement=$this->em->getRepository(Evenement::class)->find($id);
  336.         if (!$evenement) {
  337.             return new JsonResponse(['error' => 'Événement non trouvé'], Response::HTTP_NOT_FOUND);
  338.         }
  339.         $EventspiecesJointes = [];
  340.                 $piecesJointes $this->em->getRepository(PiecesEvenement::class)->findBy(['evenement' => $id]);
  341.                foreach( $piecesJointes as $p){
  342.                 $EventspiecesJointes[] = ['id'=>$p->getId(),
  343.             'isPrincipale'=>$p->getPrincipale(),
  344.             'src' => str_replace('/uploads/''/uploadsFront/'$p->getDir().'/'.$p->getNom())
  345.         ];
  346.                }
  347.                $historiqueEvent $this->em->getRepository(HistoriqueEvenement::class)->findBy(['evenement' => $id]);
  348.                $dernierHistorique = !empty($historiqueEvent) ? end($historiqueEvent) : null;
  349.                $servicesEvent=$evenement->getServices();
  350.                $servicesArr=[];
  351.                if ($servicesEvent !== null && (is_array($servicesEvent) || $servicesEvent instanceof \Countable) && count($servicesEvent) > 0) {
  352.                 foreach ($servicesEvent as $service_id) {
  353.                     $service $this->em->getRepository(Competences::class)->find($service_id);
  354.                     if ($service) {
  355.                         $servicesArr[] = [
  356.                             'id' => $service->getId(),
  357.                             'nom' => $service->getNom(),
  358.                             'type' => ($service->getParents()) ? 'child' :'parent' ,
  359.                         ];
  360.                     }
  361.                 }
  362.             }
  363.           
  364.                //dd($historiqueEvent);
  365.         // dd($EventspiecesJointes);   
  366.          $data = [
  367.             'titre'=>$evenement->getTitre(),
  368.             'etat'=>$evenement->getEtat()->getEtat(),
  369.             'mailProprietaire' => $evenement->getMailProprietaire(),
  370.             'telephoneProprietaire' => $evenement->getTelephoneProprietaire(),
  371.             'departement' => $evenement->getDepartement()->getNom(),
  372.             'region' => $evenement->getRegion()->getTitre(),
  373.             'cp' => $evenement->getCp(),
  374.             'duree' => $evenement->getDuree(),
  375.             'dateDebutDiffusion' => $evenement->getDateDebutDiffusion()->format('d/m/Y H:i'),
  376.             'dateFinDiffusion' => $evenement->getDateFinDiffusion()->format('d/m/Y H:i'),
  377.             'description'=>$evenement->getMetaDescription(),
  378.             
  379.             'url' => $evenement->getUrl(),
  380.             'motCles' =>  implode(', '$evenement->getMotCles()),
  381.             'contenu'=>$evenement->getContenu(),
  382.             'documents'=>$EventspiecesJointes,
  383.             'etatId'=>$evenement->getEtat()->getId(),
  384.             'CoutTotal'=>$evenement->getCoutTotal(),
  385.             'commentaire' => $dernierHistorique $dernierHistorique->getCommentaire() : null,
  386.             'servicesArr'=>$servicesArr,
  387.         ];
  388.         return new JsonResponse($data);
  389.     
  390.     }
  391. /**
  392.      * @Route("/edit_event", name="edit_event", methods={"GET","POST"} , options={"expose"=true})
  393.      */
  394.     public function edit_event(Request $request,AdministrateursRepository $AdministrateursRepository,GroupeRestrictionRepository $groupeRestrictionRepository,GroupeRestrictionPageRepository $grouprestrictionpageRepository){
  395.         $adminId=null;
  396.         if( ($this->session->get('susrD3p9LjjY86') == 'gA64ya3G5N') && ($request->hasSession()) ){
  397.             $admin $this->session->get('supAdT9m2XJzn4');
  398.         }else if(($this->session->get('supAdT9m2XJzn4') != null) && ($request->hasSession())){
  399.             $admin $AdministrateursRepository->findOneBy(['email'=>$this->session->get('supAdT9m2XJzn4')['email']]);
  400.             $adminId $admin->getId();
  401.             $groupeRestrictions $groupeRestrictionRepository->findByAdminId($adminId);
  402.             $restrictionPages $grouprestrictionpageRepository->findByRestriction($groupeRestrictions[0]->getId());
  403.             $accessArray $restrictionPages[0]->getAccess();
  404.             $niveauAcessPagesCollection $restrictionPages[0]->getNiveauAcessPages();
  405.             $niveauAcessPagesCollection->initialize();
  406.             $niveauAcessPages $niveauAcessPagesCollection->toArray();
  407.         }else {
  408.             return $this->redirectToRoute('connexion');
  409.         }
  410.         
  411.          //dd($request->files->get('Autresfichiers'));
  412.          $event=$this->em->getRepository(Evenement::class)->find($request->get('idEvent'));
  413.         if (!$event) {
  414.              return new JsonResponse(['error' => 'Événement non trouvé'], Response::HTTP_NOT_FOUND);
  415.          }
  416.         
  417.           
  418.          //"id" => "T9m2XJzn4")
  419.          
  420.          
  421.          //$particulier = $this->em->getRepository(Particulier::class)->find($request->get('idParticulier'));
  422.          //$user = $this->em->getRepository(User::class)->findOneBy(['email'=>$request->get('emailEvent')]);
  423.          //$Departement = $this->em->getRepository(Departement::class)->find($request->get('idDepartementEvent'));
  424.          //$RegionEvent = $this->em->getRepository(Region::class)->find($request->get('idRegionEvent'));
  425.          
  426.         $etat $this->em->getRepository(Etat::class)->find($request->get('etat'));
  427.          
  428.         
  429.          $event->setTitre($request->get('titre'));
  430.          $event->setContenu($request->get('event_content'));
  431.          $event->setCp($request->get('cpEvent')) ;
  432.          $event->setCoutTotal($request->get('CoutTotalEdit')) ;
  433.         // $event->setDepartement($Departement);
  434.         // $event->setRegion($RegionEvent);
  435.         // $event->setProprietaire($user);
  436.         // $event->setMailProprietaire($request->get('emailEvent'));
  437.         // $event->setTelephoneProprietaire($request->get('telEvent'));
  438.          $event->setUrl($request->get('UrlEvent'));
  439.          if($request->get('etat')==1){
  440.             $event->setDateValidation(new \DateTime());
  441.          }
  442.          
  443.         $event->setMetaDescription($request->get('description'));
  444.          $event->setDuree($request->get('dureeEvent'));
  445.          $event->setDateupdate(new \DateTime());
  446.          $dateDebut=\DateTime::createFromFormat('d/m/Y  H:i'$request->get('deb_diffusion_date'));
  447.          $dateFin=\DateTime::createFromFormat('d/m/Y  H:i'$request->get('fin_diffusion_date'));
  448.          $event->setDateDebutDiffusion($dateDebut);
  449.          $event->setDateFinDiffusion($dateFin);
  450.          
  451.          $keyWords=$request->get('keyWords');
  452.          if(isset($keyWords) && !empty($keyWords)) {
  453.              $keyWords str_replace("; "";"$keyWords);
  454.              $keyWordsArray explode(";"$keyWords);
  455.              $event->setMotCles($keyWordsArray);
  456.          }
  457.          $event->setEtat($etat); 
  458.         //$event->setCoutJournalier($CoutJournalier); 
  459.          
  460.         // $event->setParticulier($particulier);
  461.         /* $imgprincipale=$request->files->get('imagePrincipale');
  462.          $Autresfichiers=$request->files->get('Autresfichiers');
  463.          $uploadDirRoot = $this->getParameter('uploads_directory') ;
  464.          if( $imgprincipale!=null){
  465.          $oldImgPrincipal =  $this->em->createQuery(
  466.              'SELECT p
  467.              FROM App\Entity\PiecesEvenement p
  468.              
  469.              WHERE (p.id) = \''.$request->get('idEvent').'\' AND (p.principale) =1 
  470.              '
  471.              )
  472.              ->getOneOrNullResult()  ;
  473.          if($oldImgPrincipal)
  474.          {
  475.              $filesystem = new Filesystem();
  476.              $uploadDirRoot = $this->getParameter('uploads_directory') ;
  477.         
  478.              $filePath = $uploadDirRoot . $oldImgPrincipal->getDirectory() . '/' . $oldImgPrincipal->getNomDocument();
  479.          
  480.              $filesystem->remove($filePath);
  481.          
  482.              $this->em->remove($oldImgPrincipal);
  483.              
  484.          }
  485.              
  486.               $filesystem = new Filesystem();
  487.               $piece=new PiecesEvenement();
  488.               $imgName = $imgprincipale->getClientOriginalName();          
  489.               $imgDir = $uploadDirRoot.'/Events/'.$particulier->getId() ;   
  490.                   if( $filesystem->exists($imgDir ) == false ){
  491.                       $filesystem->mkdir($imgDir , 0777, true);
  492.                   }      
  493.                  
  494.                   $imgprincipale->move($imgDir, $imgName);
  495.                   $piece->setNom($imgName);
  496.                   $piece->setDir('/uploads/Events/'.$particulier->getId());
  497.                      
  498.                   $piece->setPrincipale(1);
  499.                   $piece->setDateUpdate(new \DateTime());
  500.       
  501.                   $piece->setEvenement($event);
  502.                   $this->em->persist($piece);
  503.               
  504.       
  505.       
  506.               }
  507.          if (!empty($Autresfichiers)){
  508.                  foreach($Autresfichiers as $f)
  509.                  
  510.                   {$filesystem = new Filesystem();
  511.                   $piece=new PiecesEvenement();
  512.                   $imgName = $f->getClientOriginalName();          
  513.                   $imgDir = $uploadDirRoot.'/Events/'.$particulier->getId() ;   
  514.                       if( $filesystem->exists($imgDir ) == false ){
  515.                           $filesystem->mkdir($imgDir , 0777, true);
  516.                       }      
  517.                      
  518.                       $f->move($imgDir, $imgName);
  519.                       $piece->setNom($imgName);
  520.                       $piece->setDir('/uploads/Events/'.$particulier->getId());
  521.                       $piece->setPrincipale(0);
  522.                       $piece->setDateCreation(new \DateTime());
  523.           
  524.                       $piece->setEvenement($event);
  525.                       $this->em->persist($piece);
  526.                   }
  527.           
  528.           
  529.                   }*/
  530.                   $historyEdit=new HistoriqueEvenement();
  531.                   $historyEdit->setEvenement($event);
  532.                   $historyEdit->setEtat($etat);
  533.                   $historyEdit->setCommentaire($request->get('Commentaire'));
  534.                   $historyEdit->setDateUpdate(new \DateTime());
  535.                   if($admin["email"] === "sadmin")
  536.                       {
  537.       
  538.                           $historyEdit->setResponsable('sadmin');
  539.                       }
  540.                   else
  541.                       {
  542.       
  543.                           $historyEdit->setResponsable($adminId);
  544.                       }
  545.       
  546.               
  547.                
  548.  
  549.         $this->em->persist($historyEdit);
  550.         
  551.          $this->em->persist($event);
  552.          $this->em->flush();
  553.      
  554.          return new JsonResponse(['success' => true]);
  555.      
  556.  
  557.      }
  558. }