src/Controller/InfosController.php line 30

Open in your IDE?
  1. <?php
  2. /**
  3.  * Classe InfosController
  4.  * 
  5.  * Contrôleur de gestion des informations du site BACACIER | Software
  6.  */
  7. namespace App\Controller;
  8. use App\Entity\Commune;
  9. use App\Entity\Commerciaux;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. use Symfony\Component\HttpFoundation\JsonResponse;
  14. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  15. class InfosController extends AbstractController
  16. {
  17.     /**
  18.      * Contrôleur de récupération des informations sur les communes (nom, zone de vent, région de neige, altitudes mini et maxi)
  19.      * 
  20.      * @param Request $request Requête entrante
  21.      * @return Response Tableau contenant les informations de chacune des communes (JSON)
  22.      * @Route("/infos/commune", name="admin_infos_commune")
  23.      */
  24.     public function commune(Request $request): Response
  25.     {
  26.         $em $this->getDoctrine()->getManager();
  27.         $part $request->request->get('q');
  28.         $communes $em->getRepository(Commune::class)->search($part);
  29.         foreach ($communes as $commune) {
  30.             $retour[] = array(
  31.                 'id'        =>  $commune->getId(),
  32.                 'text'      =>  $commune->getNom() . ' (' $commune->getDepartement() . ')',
  33.                 'vent'      =>  $commune->getZoneVent(),
  34.                 'neige'     =>  $commune->getRegionNeige(),
  35.                 'alt_max'   =>  $commune->getAltitudeMax(),
  36.                 'alt_min'   =>  $commune->getAltitudeMin()
  37.             );
  38.         }
  39.         return new JsonResponse($retour);
  40.     }
  41.     /**
  42.      * Contrôleur de récupération des informations sur les commerciaux (nom, prénom et site)
  43.      * 
  44.      * @param Request $request Requête entrante
  45.      * @return Response Tableau contenant la liste des commerciaux (JSON)
  46.      * @Route("/infos/commercial", name="admin_infos_commercial")
  47.      */
  48.     public function commercialAction(Request $request)
  49.     {
  50.         $part $request->request->get('q');
  51.         $em $this->getDoctrine()->getManager();
  52.         $commerciaux $em->getRepository(Commerciaux::class)->searchInName($part);
  53.         foreach ($commerciaux as $Commerciaux) {
  54.             $retour[] = array(
  55.                 'id'    =>  $Commerciaux->getId(),
  56.                 'text'  =>  $Commerciaux->getPrenom() . ' ' $Commerciaux->getNom() . ' (' $Commerciaux->getSite() . ')'
  57.             );
  58.         }
  59.         return new JsonResponse($retour);
  60.     }
  61. }