src/Controller/FrontendBundle/RookieDay/CompaniesController.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\Controller\FrontendBundle\RookieDay;
  3. use Doctrine\DBAL\Connection;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use Doctrine\ORM\Query;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use App\BackendBundle\Helper\SiteTitleHelper;
  11. use App\BackendBundle\Helper\RookieDayHelper;
  12. use App\Entity\RookieDayCompany;
  13. use App\Entity\RookieDayDate;
  14. use App\Entity\RookieDaySchool;
  15. class CompaniesController extends AbstractController {
  16.     private Connection $connection;
  17.     private EntityManagerInterface $em;
  18.     private SiteTitleHelper $siteTitleHelper;
  19.     private RookieDayHelper $rookieDayHelper;
  20.     public function __construct(EntityManagerInterface $emSiteTitleHelper $sitetitlehelperRookieDayHelper $rookieDayHelper) {
  21.         $this->em $em;
  22.         $this->connection $this->em->getConnection();
  23.         $this->siteTitleHelper $sitetitlehelper;
  24.         $this->rookieDayHelper $rookieDayHelper;
  25.     }
  26.     /**
  27.      * @return \Symfony\Component\HttpFoundation\Response
  28.      * @Route("/rookieday/unternehmen", name="rookie_day_companies", defaults={"title": "Unternehmensübersicht", "description": "Entdecke zusammen mit Rookie Day Unternehmen!"}) 
  29.      */
  30.     public function companiesAction(Request $request) {
  31.         $this->siteTitleHelper->setSpeedDatingJobDescription($request);
  32.         $schools $this->rookieDayHelper->getSchools();
  33.         return $this->render('@frontend/rookieday/companies.html.twig', array(
  34.                     'schools' => $schools
  35.         ));
  36.     }
  37.     /**
  38.      * @return \Symfony\Component\HttpFoundation\Response
  39.      * @Route("/rookieday/unternehmen-liste", name="rookie_day_company_list", defaults={"title": "", "description": ""}) 
  40.      */
  41.     public function companyListAction(Request $request) {
  42.         $data = array();
  43.         $data['status'] = 'error';
  44.         $schoolID intval($request->get('schoolID'));
  45.         if (empty($schoolID)) {
  46.             $data['message'] = "Error schoolid $schoolID";
  47.             return new JsonResponse($data);
  48.         }
  49.         $data['status'] = 'ok';
  50.         $data['html'] = $this->getHtmlCompanies($schoolID);
  51.         return new JsonResponse($data);
  52.     }
  53.     private function getHtmlCompanies($schoolID) {
  54.         /* @var $rookieDaySchool RookieDaySchool */
  55.         $rookieDaySchool $this->rookieDayHelper->getSchoolByID($schoolID);
  56.         if (empty($rookieDaySchool)) {
  57.             return "";
  58.         }
  59.         $companies $this->rookieDayHelper->getCompaniesBySchool($rookieDaySchool);
  60.         return $this->renderView('@frontend/templates/rookieday/company_items.html.twig', array('companies' => $companies));
  61.     }
  62. }