chore: use default error handling

This commit is contained in:
Björn Fromme
2024-11-11 16:05:37 +01:00
parent 120b962d28
commit e3447310a3
@@ -4,8 +4,10 @@ namespace EP\EpProducts\Controller;
use EP\EpProducts\Domain\Model\Travelinfo; use EP\EpProducts\Domain\Model\Travelinfo;
use EP\EpProducts\Domain\Repository\DateRepository; use EP\EpProducts\Domain\Repository\DateRepository;
use TYPO3\CMS\Core\Site\SiteFinder; use TYPO3\CMS\Core\Http\ImmediateResponseException;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
use TYPO3\CMS\Frontend\Controller\ErrorController;
class TravelinfoController extends ActionController class TravelinfoController extends ActionController
{ {
@@ -14,15 +16,9 @@ class TravelinfoController extends ActionController
*/ */
private $dateRepository; private $dateRepository;
/** public function __construct(DateRepository $dateRepository)
* @var SiteFinder
*/
private $siteFinder;
public function __construct(DateRepository $dateRepository, SiteFinder $siteFinder)
{ {
$this->dateRepository = $dateRepository; $this->dateRepository = $dateRepository;
$this->siteFinder = $siteFinder;
} }
public function indexAction(Travelinfo $travelinfo) public function indexAction(Travelinfo $travelinfo)
@@ -31,10 +27,11 @@ class TravelinfoController extends ActionController
$date = $this->dateRepository->findOneByCode($travelinfo->getTravelCode()); $date = $this->dateRepository->findOneByCode($travelinfo->getTravelCode());
if (null === $date || $date->getDateEnd() < $today) { if (null === $date || $date->getDateEnd() < $today) {
$site = $this->siteFinder->getSiteByIdentifier('ep-reisen'); $response = GeneralUtility::makeInstance(ErrorController::class)->pageNotFoundAction(
$rootPageId = $site->getRootPageId(); $GLOBALS['TYPO3_REQUEST'],
$uri = $site->getRouter()->generateUri($rootPageId); 'Reiseinformationen nicht gefunden oder Termin abgelaufen'
$this->redirectToUri($uri); );
throw new ImmediateResponseException($response, 1731071856);
} }
$this->view->assign('travelinfo', $travelinfo); $this->view->assign('travelinfo', $travelinfo);