src/Controller/Frontend/PageController.php line 629

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Frontend;
  3. use App\Entity\Library;
  4. use App\Entity\Partner;
  5. use App\Entity\OurStudent;
  6. use App\Exception\BadRequestException;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use FOS\RestBundle\Controller\Annotations as Rest;
  10. use Symfony\Contracts\Translation\TranslatorInterface;
  11. class PageController extends BaseFrontendController
  12. {
  13.     /**
  14.      * @Rest\Get("/career-path", name="career_path")
  15.      */
  16.     public function careerPath(TranslatorInterface $translator)
  17.     {
  18.         $data['index'] = '';
  19.         $siteName $this->getParameter('site_name');
  20.         $this->addTitle($translator->trans(
  21.             'career.title',
  22.             [
  23.                 '%siteName%' => $siteName
  24.             ]
  25.         ));
  26.         $this->setDescription($translator->trans(
  27.             'career.desc',
  28.             [
  29.                 '%siteName%' => $siteName
  30.             ]
  31.         ));
  32.         return $this->render('pages/career.html.twig', [
  33.             $data
  34.         ]);
  35.     }
  36.     /**
  37.      * @Rest\Get("/english", name="page_english")
  38.      */
  39.     public function pageEnglish(TranslatorInterface $translator)
  40.     {
  41.         $siteName $this->getParameter('site_name');
  42.         $this->addTitle($translator->trans(
  43.             'english.title',
  44.             [
  45.                 '%siteName%' => $siteName
  46.             ]
  47.         ));
  48.         $this->setDescription($translator->trans(
  49.             'english.desc',
  50.             [
  51.                 '%siteName%' => $siteName
  52.             ]
  53.         ));
  54.         return $this->render('language/english.html.twig', ['campuses' => $this->campusRepo->getAll(['filter_status' => 1'sort_asc' => 'ordering'], 'ENTITY')]);
  55.     }
  56.     /**
  57.      * @Rest\Get("/china", name="page_china")
  58.      */
  59.     public function pageChina(TranslatorInterface $translator)
  60.     {
  61.         $siteName $this->getParameter('site_name');
  62.         $this->addTitle($translator->trans(
  63.             'china.title',
  64.             [
  65.                 '%siteName%' => $siteName
  66.             ]
  67.         ));
  68.         $this->setDescription($translator->trans(
  69.             'china.desc',
  70.             [
  71.                 '%siteName%' => $siteName
  72.             ]
  73.         ));
  74.         return $this->render('language/china.html.twig', ['campuses' => $this->campusRepo->getAll(['filter_status' => 1'sort_asc' => 'ordering'], 'ENTITY')]);
  75.     }
  76.     /**
  77.      * @Rest\Get("/accreditations-academic-partners", name="accreditations_academic_partners")
  78.      */
  79.     public function partnersPath(TranslatorInterface $translator)
  80.     {
  81.         $data['index'] = '';
  82.         $siteName $this->getParameter('site_name');
  83.         $this->addTitle($translator->trans(
  84.             'partners.title',
  85.             [
  86.                 '%siteName%' => $siteName
  87.             ]
  88.         ));
  89.         $this->setDescription($translator->trans(
  90.             'partners.desc',
  91.             [
  92.                 '%siteName%' => $siteName
  93.             ]
  94.         ));
  95.         return $this->render('pages/partners.html.twig', [
  96.             $data
  97.         ]);
  98.     }
  99.     /**
  100.      * @Route("/{_locale}/lalternance-comment-ca-marche", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="alternance")
  101.      */
  102.     public function alternance(TranslatorInterface $translator)
  103.     {
  104.         $siteName $this->getParameter('site_name');
  105.         $this->addTitle($translator->trans(
  106.             'alternance.title',
  107.             [
  108.                 '%siteName%' => $siteName
  109.             ]
  110.         ));
  111.         $this->setDescription($translator->trans(
  112.             'alternance.desc',
  113.             [
  114.                 '%siteName%' => $siteName
  115.             ]
  116.         ));
  117.         return $this->render('pages/alternance.html.twig');
  118.     }
  119.     /**
  120.      * @Route("/{_locale}/temoignages-de-nos-etudiants", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="page.our_student")
  121.      */
  122.     public function ourStudent(TranslatorInterface $translator)
  123.     {
  124.         $siteName $translator->trans('siteName');
  125.         $this->addTitle($translator->trans(
  126.             'our_student.title',
  127.             [
  128.                 '%siteName%' => $siteName
  129.             ]
  130.         ));
  131.         $this->setDescription($translator->trans(
  132.             'our_student.desc',
  133.             [
  134.                 '%siteName%' => $siteName
  135.             ]
  136.         ));
  137.         $data['outStudentArticles'] = $this->ourStudentRepo->getAllOurStudentByType(OurStudent::TYPE_ARTICLE);
  138.         $data['outStudentVideos']   = $this->ourStudentRepo->getAllOurStudentByType(OurStudent::TYPE_VIDEO);
  139.         return $this->render('pages/our_student.html.twig'$data);
  140.     }
  141.     /**
  142.      * @Route("/{_locale}/lecole-en-images", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="page.estiam_en_images")
  143.      */
  144.     public function estiamEnImages(TranslatorInterface $translator)
  145.     {
  146.         $siteName $translator->trans('siteName');
  147.         $videos $this->libraryService->getListByType(Library::TYPE_VIDEO);
  148.         $photos $this->libraryService->getListByType(Library::TYPE_PHOTO);
  149.         $this->addTitle($translator->trans(
  150.             'estiam_en_images.title',
  151.             [
  152.                 '%siteName%' => $siteName
  153.             ]
  154.         ));
  155.         $this->setDescription($translator->trans('estiam_en_images.desc'));
  156.         return $this->render('pages/estiam_en_images.html.twig', [
  157.             'videos' => $videos,
  158.             'photos' => $photos
  159.         ]);
  160.     }
  161.     /**
  162.      * @Route("/{_locale}/partenaires-academiques", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="page.partenaires_academiques")
  163.      */
  164.     public function partenairesAcademiques(TranslatorInterface $translator)
  165.     {
  166.         $siteName $translator->trans('siteName');
  167.         $this->addTitle('Partenaires Académiques');
  168.         $this->setDescription('Partenaires Académiques');
  169.         $data['partners'] = $this->academicPartnerRepo->getAll(['filter_status' => Partner::STATUS_ACTIVE'sort_desc' => 'id'], 'App\DTO\AcademicPartner\AcademicPartnerOutput');
  170.         return $this->render('pages/partenaires_academiques.html.twig'$data);
  171.     }
  172.     /**
  173.      * @Route("/{_locale}/faq", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="faq")
  174.      */
  175.     public function faq(TranslatorInterface $translator)
  176.     {
  177.         $siteName $translator->trans('siteName');
  178.         $this->addTitle($translator->trans(
  179.             'faq.title',
  180.             [
  181.                 '%siteName%' => $siteName
  182.             ]
  183.         ));
  184.         $this->setDescription($translator->trans('faq.desc'));
  185.         $data['topics'] = $this->topicRepo->getAll(
  186.             ['sort_asc' => 'ordering']
  187.         );
  188.         return $this->render('pages/faq.html.twig'$data);
  189.     }
  190.     /**
  191.      * @Route("/{_locale}/nos-campus", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="campus.index")
  192.      */
  193.     public function campus(TranslatorInterface $translatorRequest $request)
  194.     {
  195.         $siteName $this->getParameter('site_name');
  196.         $this->addTitle($translator->trans(
  197.             'campus.title',
  198.             [
  199.                 '%siteName%' => $siteName
  200.             ]
  201.         ));
  202.         $this->setDescription($translator->trans(
  203.             'campus.desc',
  204.             [
  205.                 '%siteName%' => $siteName
  206.             ]
  207.         ));
  208.         
  209.         // list center with center gmap location
  210.         $country '';
  211.         try {
  212.             $ip $request->getClientIp();
  213.             $country = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=" $ip))->geoplugin_countryCode;
  214.         } catch (\Exception $e) {
  215.             $country '';
  216.         }
  217.         if(empty($country)) {
  218.             try {
  219.                 $ip $request->headers->get('X-Forwarded-For');
  220.                 $country = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=" $ip))->geoplugin_countryCode;
  221.             } catch (\Exception $e) {
  222.                 $country $ip;
  223.             }
  224.         }
  225.         
  226.            
  227.         return $this->render(
  228.             'campus/index.html.twig',
  229.             [
  230.                 'centers' => $this->campusService->getCenterMapLocationList(),
  231.                 'campuses' => $this->campusRepo->getAll(['filter_status' => 1'sort_asc' => 'ordering'], 'ENTITY'),
  232.                 'country' => $country
  233.             ]
  234.         );
  235.     }
  236.     /**
  237.      * @Route("/{_locale}/nos-campus/{slug}", requirements={"_locale": "en|fr", "slug": "[a-zA-Z0-9\-]+"}, defaults={"_locale"="fr"}, name="campus_detail")
  238.      */
  239.     public function campusDetail($slugTranslatorInterface $translator)
  240.     {
  241.         $campus $this->campusRepo->findOneBy(['slug' => $slug'status' => 1]);
  242.         if (!$campus) {
  243.             throw $this->createNotFoundException('');
  244.         }
  245.         $this->addTitle(empty($campus->getSeoTitle()) ? ($translator->trans('ÉSTIAM - Découvrez campus') . ' ' $campus->getName()) : $campus->getSeoTitle());
  246.         $this->setDescription(empty($campus->getSeoDescription()) ? $translator->trans(
  247.             'campus_detail.desc',
  248.             [
  249.                 '%campusName%' => $campus->getName()
  250.             ]
  251.         ) : $campus->getSeoDescription());
  252.         
  253.         $centerLocationList $this->campusService->getCenterMapLocationList($campus'campus/centerMapInfoSingle.html.twig');
  254.         $jpos $this->openDayRepo->getListByCampusId($campus->getId());
  255.         return $this->render(
  256.             'campus/detail.html.twig',
  257.             [
  258.                 'campus' => $campus,
  259.                 'jpos'   => $jpos,
  260.                 'outStudentArticles' => $this->ourStudentRepo->getAllOurStudentByType(OurStudent::TYPE_ARTICLE5),
  261.                 'centerLocationList' => $centerLocationList
  262.             ]
  263.         );
  264.     }
  265.     /**
  266.      * @Route("/{_locale}/nos-valeurs", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="nos_valeurs")
  267.      */
  268.     public function nosValeurs(TranslatorInterface $translator)
  269.     {
  270.         $siteName $this->getParameter('site_name');
  271.         $this->addTitle($translator->trans(
  272.             'nos_valeurs.title',
  273.             [
  274.                 '%siteName%' => $siteName
  275.             ]
  276.         ));
  277.         $this->setDescription($translator->trans(
  278.             'nos_valeurs.desc',
  279.             [
  280.                 '%siteName%' => $siteName
  281.             ]
  282.         ));
  283.         return $this->render('ecole/nos_valeurs.html.twig');
  284.     }
  285.     /**
  286.      * @Route("/{_locale}/l-ecole-pourquoi-etudier-a-estiam", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="etudier_estiam")
  287.      */
  288.     public function etudierEstiam(TranslatorInterface $translator)
  289.     {
  290.         $siteName $this->getParameter('site_name');
  291.         $this->addTitle($translator->trans(
  292.             'etudier_estiam.title',
  293.             [
  294.                 '%siteName%' => $siteName
  295.             ]
  296.         ));
  297.         $this->setDescription($translator->trans(
  298.             'etudier_estiam.desc',
  299.             [
  300.                 '%siteName%' => $siteName
  301.             ]
  302.         ));
  303.         return $this->render('ecole/etudier_estiam.html.twig');
  304.     }
  305.     /**
  306.      * @Route("/{_locale}/notre-pedagogie", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="pedagogie")
  307.      */
  308.     public function pedagogie(TranslatorInterface $translator)
  309.     {
  310.         $siteName $this->getParameter('site_name');
  311.         $this->addTitle($translator->trans(
  312.             'pedagogie.title',
  313.             [
  314.                 '%siteName%' => $siteName
  315.             ]
  316.         ));
  317.         $this->setDescription($translator->trans(
  318.             'pedagogie.desc',
  319.             [
  320.                 '%siteName%' => $siteName
  321.             ]
  322.         ));
  323.         return $this->render('ecole/pedagogie.html.twig');
  324.     }
  325.     /**
  326.      * @Route("/{_locale}/cursus-et-specialisations", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="cursus")
  327.      */
  328.     public function cursus(TranslatorInterface $translator)
  329.     {
  330.         $siteName $this->getParameter('site_name');
  331.         $this->addTitle($translator->trans(
  332.             'cursus.title',
  333.             [
  334.                 '%siteName%' => $siteName
  335.             ]
  336.         ));
  337.         $this->setDescription($translator->trans(
  338.             'cursus.desc',
  339.             [
  340.                 '%siteName%' => $siteName
  341.             ]
  342.         ));
  343.         return $this->render('ecole/cursus.html.twig');
  344.     }
  345.     /**
  346.      * @Route("/{_locale}/habilitations-et-qualite", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="habilitations")
  347.      */
  348.     public function habilitations(TranslatorInterface $translator)
  349.     {
  350.         $siteName $this->getParameter('site_name');
  351.         $this->addTitle($translator->trans(
  352.             'habilitations.title',
  353.             [
  354.                 '%siteName%' => $siteName
  355.             ]
  356.         ));
  357.         $this->setDescription($translator->trans(
  358.             'habilitations.desc',
  359.             [
  360.                 '%siteName%' => $siteName
  361.             ]
  362.         ));
  363.         $data['partners'] = $this->partnerRepo->getAll(['filter_status' => Partner::STATUS_ACTIVE], 'App\DTO\Partner\PartnerOutput');
  364.         return $this->render('ecole/habilitations.html.twig'$data);
  365.     }
  366.     /**
  367.      * @Route("/{_locale}/conseil-de-perfectionnement", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="conseil")
  368.      */
  369.     public function conseil(TranslatorInterface $translator)
  370.     {
  371.         $siteName $this->getParameter('site_name');
  372.         $this->addTitle($translator->trans(
  373.             'conseil.title',
  374.             [
  375.                 '%siteName%' => $siteName
  376.             ]
  377.         ));
  378.         $this->setDescription($translator->trans(
  379.             'conseil.desc',
  380.             [
  381.                 '%siteName%' => $siteName
  382.             ]
  383.         ));
  384.         return $this->render('ecole/conseil.html.twig');
  385.     }
  386.     /**
  387.      * @Route("/{_locale}/etudier-en-situation-de-handicap", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="etudier_handicap")
  388.      */
  389.     public function etudierHandicap(TranslatorInterface $translator)
  390.     {
  391.         $siteName $this->getParameter('site_name');
  392.         $this->addTitle($translator->trans(
  393.             'etudier_handicap.title',
  394.             [
  395.                 '%siteName%' => $siteName
  396.             ]
  397.         ));
  398.         $this->setDescription($translator->trans(
  399.             'etudier_handicap.desc',
  400.             [
  401.                 '%siteName%' => $siteName
  402.             ]
  403.         ));
  404.         return $this->render('ecole/etudier_handicap.html.twig');
  405.     }
  406.     /**
  407.      * @Route("/{_locale}/apply-offre", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="apply_offre")
  408.      */
  409.     public function applyOffre(TranslatorInterface $translator)
  410.     {
  411.         return $this->render('pages/404.html.twig');
  412.         $siteName $this->getParameter('site_name');
  413.         $this->addTitle($translator->trans(
  414.             'offres.title',
  415.             [
  416.                 '%siteName%' => $siteName
  417.             ]
  418.         ));
  419.         $this->setDescription($translator->trans(
  420.             'offres.desc',
  421.             [
  422.                 '%siteName%' => $siteName
  423.             ]
  424.         ));
  425.         return $this->render('entreprises/apply_offre.html.twig');
  426.     }
  427.     /**
  428.      * @Route("/{_locale}/comment-integrer-un-de-nos-etudiants-dans-votre-entreprise", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="integrer_etudiants")
  429.      */
  430.     public function integrerEtudiants(TranslatorInterface $translator)
  431.     {
  432.         $this->addTitle($translator->trans(
  433.             'integrer_etudiants.title'
  434.         ));
  435.         $this->setDescription($translator->trans(
  436.             'integrer_etudiants.desc'
  437.         ));
  438.         return $this->render('entreprises/integrer_etudiants.html.twig');
  439.     }
  440.     /**
  441.      * @Route("/{_locale}/cga", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="cga")
  442.      */
  443.     public function cga(TranslatorInterface $translator)
  444.     {
  445.         $siteName $this->getParameter('site_name');
  446.         $this->addTitle($translator->trans(
  447.             'cga.title',
  448.             [
  449.                 '%siteName%' => $siteName
  450.             ]
  451.         ));
  452.         $this->setDescription($translator->trans(
  453.             'cga.desc',
  454.             [
  455.                 '%siteName%' => $siteName
  456.             ]
  457.         ));
  458.         return $this->render('policy/cga.html.twig');
  459.     }
  460.     /**
  461.      * @Route("/{_locale}/cgi", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="cgi")
  462.      */
  463.     public function cgi(TranslatorInterface $translator)
  464.     {
  465.         $siteName $this->getParameter('site_name');
  466.         $this->addTitle($translator->trans(
  467.             'cgi.title',
  468.             [
  469.                 '%siteName%' => $siteName
  470.             ]
  471.         ));
  472.         $this->setDescription($translator->trans(
  473.             'cgi.desc',
  474.             [
  475.                 '%siteName%' => $siteName
  476.             ]
  477.         ));
  478.         return $this->render('policy/cgi.html.twig');
  479.     }
  480.     /**
  481.      * @Route("/{_locale}/cgv", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="cgv")
  482.      */
  483.     public function cgv(TranslatorInterface $translator)
  484.     {
  485.         $siteName $this->getParameter('site_name');
  486.         $this->addTitle($translator->trans(
  487.             'cgv.title',
  488.             [
  489.                 '%siteName%' => $siteName
  490.             ]
  491.         ));
  492.         $this->setDescription($translator->trans(
  493.             'cgv.desc',
  494.             [
  495.                 '%siteName%' => $siteName
  496.             ]
  497.         ));
  498.         return $this->render('policy/cgv.html.twig');
  499.     }
  500.     /**
  501.      * @Route("/{_locale}/charte-utilisation", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="charte_utilisation")
  502.      */
  503.     public function charteUtilisation(TranslatorInterface $translator)
  504.     {
  505.         $siteName $this->getParameter('site_name');
  506.         $this->addTitle($translator->trans(
  507.             'charte_utilisation.title',
  508.             [
  509.                 '%siteName%' => $siteName
  510.             ]
  511.         ));
  512.         $this->setDescription($translator->trans(
  513.             'charte_utilisation.desc',
  514.             [
  515.                 '%siteName%' => $siteName
  516.             ]
  517.         ));
  518.         return $this->render('policy/charte_utilisation.html.twig');
  519.     }
  520.     /**
  521.      * @Route("/{_locale}/reglement-interieur", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="reglement_interieur")
  522.      */
  523.     public function reglementInterieur(TranslatorInterface $translator)
  524.     {
  525.         $siteName $this->getParameter('site_name');
  526.         $this->addTitle($translator->trans(
  527.             'reglement_interieur.title',
  528.             [
  529.                 '%siteName%' => $siteName
  530.             ]
  531.         ));
  532.         $this->setDescription($translator->trans(
  533.             'reglement_interieur.desc',
  534.             [
  535.                 '%siteName%' => $siteName
  536.             ]
  537.         ));
  538.         return $this->render('policy/reglement_interieur.html.twig');
  539.     }
  540.     /**
  541.      * @Route("/{_locale}/mentions-legales", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="mentions_legales")
  542.      */
  543.     public function mentionsLegales(TranslatorInterface $translator)
  544.     {
  545.         $siteName $this->getParameter('site_name');
  546.         $this->addTitle($translator->trans(
  547.             'mentions_legales.title',
  548.             [
  549.                 '%siteName%' => $siteName
  550.             ]
  551.         ));
  552.         $this->setDescription($translator->trans(
  553.             'mentions_legales.desc',
  554.             [
  555.                 '%siteName%' => $siteName
  556.             ]
  557.         ));
  558.         return $this->render('policy/mentions_legales.html.twig');
  559.     }
  560.     /**
  561.      * @Route("/{_locale}/reglement-des-etudes", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="reglement_etudes")
  562.      */
  563.     public function reglementEtudes(TranslatorInterface $translator)
  564.     {
  565.         $siteName $this->getParameter('site_name');
  566.         $this->addTitle($translator->trans(
  567.             'reglement_etudes.title',
  568.             [
  569.                 '%siteName%' => $siteName
  570.             ]
  571.         ));
  572.         $this->setDescription($translator->trans(
  573.             'reglement_etudes.desc',
  574.             [
  575.                 '%siteName%' => $siteName
  576.             ]
  577.         ));
  578.         return $this->render('policy/reglement_etudes.html.twig');
  579.     }
  580.     /**
  581.      * @Route("/{_locale}/satisfaction-etudiants", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="satisfaction_etudiants")
  582.      */
  583.     public function satisfactionEtudiants(TranslatorInterface $translator)
  584.     {
  585.         $siteName $this->getParameter('site_name');
  586.         $this->addTitle($translator->trans(
  587.             'satisfaction_etudiants.title',
  588.             [
  589.                 '%siteName%' => $siteName
  590.             ]
  591.         ));
  592.         $this->setDescription($translator->trans(
  593.             'satisfaction_etudiants.desc',
  594.             [
  595.                 '%siteName%' => $siteName
  596.             ]
  597.         ));
  598.         return $this->render('pages/satisfaction_etudiants.html.twig');
  599.     }
  600.     /**
  601.      * @Route("/{_locale}/bons-plans-etudiants-estiam", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_aide")
  602.      */
  603.     public function bonsAide(TranslatorInterface $translator)
  604.     {
  605.         $siteName $this->getParameter('site_name');
  606.         $this->addTitle($translator->trans(
  607.             'bons_aide.title',
  608.             [
  609.                 '%siteName%' => $siteName
  610.             ]
  611.         ));
  612.         $this->setDescription($translator->trans(
  613.             'bons_aide.desc',
  614.             [
  615.                 '%siteName%' => $siteName
  616.             ]
  617.         ));
  618.         return $this->render('bons/aide.html.twig');
  619.     }
  620.     /**
  621.      * @Route("/{_locale}/bons-plans-etudiants-voyagez", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_voyagez")
  622.      */
  623.     public function bonsVoyages(TranslatorInterface $translator)
  624.     {
  625.         $siteName $this->getParameter('site_name');
  626.         $this->addTitle($translator->trans(
  627.             'bons_aide.title',
  628.             [
  629.                 '%siteName%' => $siteName
  630.             ]
  631.         ));
  632.         $this->setDescription($translator->trans(
  633.             'bons_aide.desc',
  634.             [
  635.                 '%siteName%' => $siteName
  636.             ]
  637.         ));
  638.         return $this->render('bons/voyagez.html.twig');
  639.     }
  640.     /**
  641.      * @Route("/{_locale}/bons-plans-etudiants-permis", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_permis")
  642.      */
  643.     public function bonsPermis(TranslatorInterface $translator)
  644.     {
  645.         $siteName $this->getParameter('site_name');
  646.         $this->addTitle($translator->trans(
  647.             'bons_aide.title',
  648.             [
  649.                 '%siteName%' => $siteName
  650.             ]
  651.         ));
  652.         $this->setDescription($translator->trans(
  653.             'bons_aide.desc',
  654.             [
  655.                 '%siteName%' => $siteName
  656.             ]
  657.         ));
  658.         return $this->render('bons/permis.html.twig');
  659.     }
  660.     /**
  661.      * @Route("/{_locale}/bons-plans-etudiants-informatique", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_informatique")
  662.      */
  663.     public function bonsInformatique(TranslatorInterface $translator)
  664.     {
  665.         $siteName $this->getParameter('site_name');
  666.         $this->addTitle($translator->trans(
  667.             'bons_aide.title',
  668.             [
  669.                 '%siteName%' => $siteName
  670.             ]
  671.         ));
  672.         $this->setDescription($translator->trans(
  673.             'bons_aide.desc',
  674.             [
  675.                 '%siteName%' => $siteName
  676.             ]
  677.         ));
  678.         return $this->render('bons/informatique.html.twig');
  679.     }
  680.     /**
  681.      * @Route("/{_locale}/bons-plans-etudiants-cultivez", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_cultivez")
  682.      */
  683.     public function bonsCultivez(TranslatorInterface $translator)
  684.     {
  685.         $siteName $this->getParameter('site_name');
  686.         $this->addTitle($translator->trans(
  687.             'bons_aide.title',
  688.             [
  689.                 '%siteName%' => $siteName
  690.             ]
  691.         ));
  692.         $this->setDescription($translator->trans(
  693.             'bons_aide.desc',
  694.             [
  695.                 '%siteName%' => $siteName
  696.             ]
  697.         ));
  698.         return $this->render('bons/cultivez.html.twig');
  699.     }
  700.     /**
  701.      * @Route("/{_locale}/bons-plans-etudiants-shopping", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_shopping")
  702.      */
  703.     public function bonsShopping(TranslatorInterface $translator)
  704.     {
  705.         $siteName $this->getParameter('site_name');
  706.         $this->addTitle($translator->trans(
  707.             'bons_aide.title',
  708.             [
  709.                 '%siteName%' => $siteName
  710.             ]
  711.         ));
  712.         $this->setDescription($translator->trans(
  713.             'bons_aide.desc',
  714.             [
  715.                 '%siteName%' => $siteName
  716.             ]
  717.         ));
  718.         return $this->render('bons/shopping.html.twig');
  719.     }
  720.     /**
  721.      * @Route("/{_locale}/logement-etudiant-paris-colette-estiam", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_aide1")
  722.      */
  723.     public function bonsAide1(TranslatorInterface $translator)
  724.     {
  725.         $siteName $this->getParameter('site_name');
  726.         $this->addTitle($translator->trans(
  727.             'bons_aide1.title',
  728.             [
  729.                 '%siteName%' => $siteName
  730.             ]
  731.         ));
  732.         $this->setDescription($translator->trans(
  733.             'bons_aide1.desc',
  734.             [
  735.                 '%siteName%' => $siteName
  736.             ]
  737.         ));
  738.         return $this->render('bons/aide-1.html.twig');
  739.     }
  740.     /**
  741.      * @Route("/{_locale}/emmenagement-facile-estiam-mondopal", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_aide2")
  742.      */
  743.     public function bonsAide2(TranslatorInterface $translator)
  744.     {
  745.         $siteName $this->getParameter('site_name');
  746.         $this->addTitle($translator->trans(
  747.             'bons_aide2.title',
  748.             [
  749.                 '%siteName%' => $siteName
  750.             ]
  751.         ));
  752.         $this->setDescription($translator->trans(
  753.             'bons_aide2.desc',
  754.             [
  755.                 '%siteName%' => $siteName
  756.             ]
  757.         ));
  758.         return $this->render('bons/aide-2.html.twig');
  759.     }
  760.     /**
  761.      * @Route("/{_locale}/logement-etudiant-smartgarant-estiam", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_aide3")
  762.      */
  763.     public function bonsAide3(TranslatorInterface $translator)
  764.     {
  765.         $siteName $this->getParameter('site_name');
  766.         $this->addTitle($translator->trans(
  767.             'bons_aide3.title',
  768.             [
  769.                 '%siteName%' => $siteName
  770.             ]
  771.         ));
  772.         $this->setDescription($translator->trans(
  773.             'bons_aide3.desc',
  774.             [
  775.                 '%siteName%' => $siteName
  776.             ]
  777.         ));
  778.         return $this->render('bons/aide-3.html.twig');
  779.     }
  780.     /**
  781.      * @Route("/{_locale}/conseil-recherche-logement", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="bons_aide4")
  782.      */
  783.     public function bonsAide4(TranslatorInterface $translator)
  784.     {
  785.         $siteName $this->getParameter('site_name');
  786.         $this->addTitle($translator->trans(
  787.             'bons_aide4.title',
  788.             [
  789.                 '%siteName%' => $siteName
  790.             ]
  791.         ));
  792.         $this->setDescription($translator->trans(
  793.             'bons_aide4.desc',
  794.             [
  795.                 '%siteName%' => $siteName
  796.             ]
  797.         ));
  798.         return $this->render('bons/aide-4.html.twig');
  799.     }
  800.     /**
  801.      * @Route("/{_locale}/autofinancement-des-etudes", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="autofinancement")
  802.      */
  803.     public function autofinancement(TranslatorInterface $translator)
  804.     {
  805.         $siteName $this->getParameter('site_name');
  806.         $this->addTitle($translator->trans(
  807.             'autofinancement.title',
  808.             [
  809.                 '%siteName%' => $siteName
  810.             ]
  811.         ));
  812.         $this->setDescription($translator->trans(
  813.             'autofinancement.desc',
  814.             [
  815.                 '%siteName%' => $siteName
  816.             ]
  817.         ));
  818.         return $this->render('alternance/autofinancement.html.twig');
  819.     }
  820.     /**
  821.      * @Route("/generate-word/{id}", name="autofinancementdsada")
  822.      */
  823.     public function generateWord($id)
  824.     {
  825.         $invoice $this->invoiceService->getById($id);
  826.         $contents['html'] = $this->renderView('pdf/invoice_word.html.twig', [
  827.             'invoice' => $invoice
  828.         ]);
  829.         $contents['fileName'] = $invoice['number'] . '-' date('d-m-Y') . '.docx';
  830.         return $this->invoiceService->exportWord($contents);
  831.     }
  832.     /**
  833.      * @Route("/generate-pdf/{id}", name="autofinancementdsada222")
  834.      */
  835.     public function generatePdf($id)
  836.     {
  837.         $invoice $this->invoiceService->getById($id);
  838.         $html $this->renderView('pdf/invoice.html.twig', [
  839.             'invoice' => $invoice
  840.         ]);
  841.         return $this->invoiceService->generatePDF($html$invoice);
  842.     }
  843. }