src/Controller/JobController.php line 71

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use Symfony\Component\HttpFoundation\RedirectResponse;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. /**
  9. * @Route(requirements={"_locale": "en|de|sk"})
  10. */
  11. class JobController extends CommonController
  12. {
  13. /**
  14. * @Route(
  15. * "/jobs"
  16. * )
  17. */
  18. public function oldIndex(): RedirectResponse
  19. {
  20. return $this->redirectToRoute('job_index', [], 301);
  21. }
  22. /**
  23. * @Route(
  24. * "/{_locale}/jobs",
  25. * name="job_index"
  26. * )
  27. */
  28. public function index(Request $request): Response
  29. {
  30. return $this->render(
  31. 'job/index.html.twig',
  32. [
  33. 'meta_keywords' => 'job,developer,software engineer,project manager',
  34. 'meta_description' => '',
  35. 'lang' => $request->getLocale(),
  36. 'menu' => $this->getMenuItems($request),
  37. 'year' => date('Y'),
  38. 'eLang' => 'sk',
  39. 'failLang' => 'sk',
  40. 'sendLang' => 'sk',
  41. 'nameAlert' => 'sk',
  42. 'emailAlert' => 'sk',
  43. 'messageAlert' => 'sk',
  44. 'header' => [
  45. 'title' => 'Open positions',
  46. 'section' => 'Career',
  47. ],
  48. 'jobs' => $this->config->getOpenJobPositions(),
  49. 'jobsCount' => $this->config->getOpenJobPositionsCount(),
  50. ]
  51. );
  52. }
  53. /**
  54. * @Route(
  55. * "/{_locale}/job/{uri}",
  56. * name="job_detail"
  57. * )
  58. */
  59. public function job(Request $request, string $uri): Response
  60. {
  61. $job = $this->config->getOpenJobPosition($uri);
  62. return $this->render(
  63. 'job/detail.html.twig',
  64. [
  65. 'title' => $job['job_name'],
  66. 'meta_keywords' => 'job,developer,software engineer,project manager',
  67. 'meta_description' => $job['job_description'],
  68. 'lang' => $request->getLocale(),
  69. 'menu' => $this->getMenuItems($request),
  70. 'year' => date('Y'),
  71. 'eLang' => 'sk',
  72. 'failLang' => 'sk',
  73. 'sendLang' => 'sk',
  74. 'nameAlert' => 'sk',
  75. 'emailAlert' => 'sk',
  76. 'messageAlert' => 'sk',
  77. 'header' => [
  78. 'title' => $job['job_name'],
  79. 'section' => 'Open position',
  80. ],
  81. 'job' => $job,
  82. 'jobsCount' => $this->config->getOpenJobPositionsCount(),
  83. ]
  84. );
  85. }
  86. }