<?php
namespace App\Controller\FrontendBundle\Ideas;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use App\BackendBundle\Helper\InfoSectionHelper;
use App\BackendBundle\Helper\SiteTitleHelper;
use App\Entity\InfoSectionCategory;
class CompanyIdeasController extends AbstractController {
private $siteTitleHelper;
private $infoSectionHelper;
public function __construct(InfoSectionHelper $infosectionhelper, SiteTitleHelper $sitetitlehelper) {
$this->infoSectionHelper = $infosectionhelper;
$this->siteTitleHelper = $sitetitlehelper;
}
/**
* @return \Symfony\Component\HttpFoundation\Response
* @Route("/ideen-unternehmen", name="company_ideas_list", defaults={"title": "Informationsbereich für Unternehmen", "description": "Sie sind als Unternehmen auf der Suche nach Lehrlingen? Hier finden Sie einen Überblick an Möglichkeiten, interessierte Jugendliche anzusprechen."})
*/
public function listIdeasAction(Request $request) {
$this->siteTitleHelper->setTitleDescription($request);
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository(InfoSectionCategory::class)->findBy(array('sectionType' => 1), array('position' => 'ASC'));
return $this->render('@frontend/public/ideas/ideas_company.html.twig', array(
'heading' => 'Ideen für Unternehmen',
'categoryRoute' => 'company_ideas_category',
'entities' => $entities
));
}
/**
* @return \Symfony\Component\HttpFoundation\Response
* @Route("/ideen-unternehmen/{category}", name="company_ideas_category", defaults={"title": "Informationsbereich für Unternehmen", "description": "Sie sind als Unternehmen auf der Suche nach Lehrlingen? Hier finden Sie einen Überblick an Möglichkeiten, interessierte Jugendliche anzusprechen."})
*/
public function categoryAction(Request $request, $category) {
$infoSectionCategory = $this->infoSectionHelper->getInfoSectionCategoryByUrlText($category);
if (empty($infoSectionCategory)) {
throw new NotFoundHttpException("Category $category wurde nicht gefunden");
}
$this->siteTitleHelper->setInfoSectionCategoryTitle($request, $infoSectionCategory);
$entities = $this->infoSectionHelper->getInfoSectionSubCategoriesByCategory($infoSectionCategory);
return $this->render('@frontend/public/ideas/ideas_category.html.twig', array(
'category' => $infoSectionCategory,
'entities' => $entities
));
}
}