<?php declare(strict_types=1); /* * This file is part of alox bundle for Contao. * * (c) Benjamin Roth * * @license commercial */ namespace vossmedien\AloxBundle\Controller\Frontend\Module; use Contao\Config; use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController; use Contao\CoreBundle\ServiceAnnotation\FrontendModule; use Contao\Input; use Contao\ModuleModel; use Contao\PageModel; use Contao\Template; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use vossmedien\AloxBundle\API\Zvoove; /** * @FrontendModule(JobReaderModuleController::TYPE, category="miscellaneous") */ class JobReaderModuleController extends AbstractFrontendModuleController { public const TYPE = 'alox_jobreader'; /** * @var Zvoove */ protected $api; public function __construct(Zvoove $api) { $this->api = $api; } protected function getResponse(Template $template, ModuleModel $model, Request $request): ?Response { if ($request->get('id')) { $job = $this->api->getStelleById($request->get('id')); } // Populate template vars if ($job !== null) { $template->job = $job->getData(); } // Back link if overview page is defined if ($model->overviewPage && ($overviewPage = PageModel::findByPk($model->overviewPage)) !== null) { $template->listUrl = $overviewPage->getFrontendUrl(); } return $template->getResponse(); } }