<?php
namespace App\Controller\Mvc;
use App\Service\Entry\FreeWordSearchService;
use App\Utils\TargetChoiceUtil;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/search")
*/
class searchController extends AbstractController
{
/**
* @Route ("/", name="search_index", methods={"GET"})
*/
public function index(
Request $request,
FreeWordSearchService $service
) {
$res = $service->search($request);
$res['form'] = $res['form']->createView();
return $this->render('pages/search/index.html.twig', $res);
}
/**
* @Route("/modelplan", name="search_modelplan", methods={"GET"})
*/
public function modelPlan(
Request $request,
FreeWordSearchService $service
) {
return $this->render('pages/search/_page.html.twig', array_merge([
"class" => "modelplan",
"nextEndpoint" => "search_modelplan"
],$service->getSingleResult($request, TargetChoiceUtil::MODELPLAN)
));
}
/**
* @Route("/workspace", name="search_workspace", methods={"GET"})
*/
public function workspace(
Request $request,
FreeWordSearchService $service
) {
return $this->render('pages/search/_page.html.twig', array_merge([
"class" => "workspace",
"nextEndpoint" => "search_workspace"
],$service->getSingleResult($request, TargetChoiceUtil::WORKSPACE)
));
}
/**
* @Route("/hotel", name="search_hotel", methods={"GET"})
*/
public function hotel(
Request $request,
FreeWordSearchService $service
) {
return $this->render('pages/search/_page.html.twig', array_merge([
"class" => "facility",
"nextEndpoint" => "search_hotel"
],$service->getSingleResult($request, TargetChoiceUtil::HOTEL)
));
}
/**
* @Route("/activity", name="search_activity", methods={"GET"})
*/
public function activity(
Request $request,
FreeWordSearchService $service
) {
return $this->render('pages/search/_page.html.twig', array_merge([
"class" => "activity",
"nextEndpoint" => "search_activity"
],$service->getSingleResult($request, TargetChoiceUtil::ACTIVITY)
));
}
/**
* @Route("/mobility", name="search_mobility", methods={"GET"})
*/
public function mobility(
Request $request,
FreeWordSearchService $service
) {
return $this->render('pages/search/_page.html.twig', array_merge([
"class" => "mobility",
"nextEndpoint" => "search_mobility"
],$service->getSingleResult($request, TargetChoiceUtil::MOBILITY)
));
}
}