<?php
namespace App\Controller;
use App\Entity\Rappels;
use App\Form\RappelsType;
use App\Service\RappelsService;
use App\Service\SearchService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Service\BootService;
use Symfony\Component\HttpFoundation\JsonResponse;
class BootController extends AbstractController
{
private BootService $bootService;
public function __construct(BootService $bootService)
{
$this->bootService = $bootService;
}
#[Route('/', name: 'app_index')]
public function index(): Response
{
if(CONTROLEUR_DEFAUT === "pages"){
return $this->forward("App\Modules\Pages\Controller\PagesController::indexPagesRoot");
}
$controller = ucfirst(CONTROLEUR_DEFAUT);
return $this->forward("App\Modules\\".$controller."\Controller\\".$controller."Controller::index".$controller."Root");
}
#[Route('/load_content/{ressource}', name: 'get_content_bloc_call')]
public function getContentBlocCall($ressource):JsonResponse
{
return new JsonResponse([
"data"=>$this->bootService->getRessourceCoreTwig($ressource)
]);
}
#[Route('/set/search/call', name: 'set_search_call')]
public function setSearchCall(Request $request, SearchService $searchService):JsonResponse
{
return new JsonResponse($searchService->setSearch($request));
}
#[Route('/recherche', name:'get_search_results')]
public function getSearchResults(Request $request, SearchService $searchService):Response
{
$request->request->set("search", ["element" => $request->query->get("q")]);
return new Response($this->render('templates/includes/search.include.html.twig',
[
"results" => $searchService->setSearch($request),
"needle" => $request->request->get("q"),
]));
}
#[Route('/set/rappels/call', name: 'set_rappels_call')]
public function setRappelsCall(Request $request, RappelsService $rappelsService):JsonResponse
{
return new JsonResponse($rappelsService->setRappels($this->createForm(RappelsType::class, new Rappels())->handleRequest($request)->getData(), $request));
}
}