<?php
namespace App\Controller\Advertiser\Generic;
use App\Controller\AbstractClass\AbstractExceptionController;
use App\Entity\User;
use App\Service\User as UserService;
use Symfony\Component\ErrorHandler\Exception\FlattenException;
use Symfony\Component\HttpFoundation\Response;
/**
* Class GenericExceptionController
*/
class GenericExceptionController extends AbstractExceptionController
{
private UserService $userService;
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
public function showException(FlattenException $exception): Response
{
$code = $exception->getStatusCode();
$user = $this->userService->getUser();
if (404 !== $code && 403 !== $code) {
$code = '';
}
$templateName = 'exceptions/autherror' . $code . '.html.twig';
if ($user instanceof User) {
return $this->render($templateName, [
'user' => $user,
]);
}
return $this->render($templateName);
}
}