<?php
namespace App\Controller\Front\HomePage;
use App\Entity\Page\Page;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\JsonResponse;
class HomePageController extends HomePageUtilsController
{
private const HOME_PAGE_TEMPLATE_PATH = 'front/main_page.twig';
public function homeListAction(Request $originalRequest, Page $page): Response
{
$viewParams = $this->createViewParams($originalRequest, null, $page);
$viewParams = array_merge($viewParams, [
'seo' => $this->seoMainPageProvider->getSeoMainPageView(),
'industrys' => $this->jobListingsProvider->getAllActive(),
'industry_list_footer' => $this->industryListProvider->getAllActiveTrue(),
'city_list_footer' => $this->citiesListProvider->getAllActiveTrue(),
'popular_list_footer' => $this->popularListProvider->getAllActive(),
'links_in_footer' => $this->footerLinkProvider->getAll(),
'main_page_search' => $this->mainPageOfferSearchFactory->createMainPageOfferSearchView(),
'max_search_params' => $this->parameterBag->get('maxSearchParams'),
'max_search_params_own' => $this->parameterBag->get('maxSearchParamsOwn'),
'lvl_jobs' => $this->jobLevelsProvider->getAllActiveView(),
'show_job_level_select' => $this->jobLevelSelectProvider->getOneById(1)
]);
return $this->render(self::HOME_PAGE_TEMPLATE_PATH, $viewParams);
}
/**
* @Route("/jobLevel/get", name="jobLevel-get", methods={"GET","POST"})
*/
public function getJobLevelById(Request $request): JsonResponse{
$params = $request->request->all();
$ids = [];
$response = [];
foreach($params as $params_data){
foreach($params_data as $item){
$ids[] = (int)$item;
}
}
foreach($this->jobLevelsProvider->getAllByIdsJsonArray($ids) as $item){
$response[] = $item;
}
return new JsonResponse($response);
}
}