public function PrintEngineExceptionSubscriber::handleException in Entity Print 8.2
Handles print exceptions.
Parameters
\Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent $event: The exception event.
File
- src/
EventSubscriber/ PrintEngineExceptionSubscriber.php, line 53
Class
- PrintEngineExceptionSubscriber
- Exception event subscriber.
Namespace
Drupal\entity_print\EventSubscriberCode
public function handleException(GetResponseForExceptionEvent $event) {
$exception = $event
->getException();
if ($exception instanceof PrintEngineException) {
\Drupal::messenger()
->addError(new FormattableMarkup($exception
->getPrettyMessage(), []));
if ($entity = $this
->getEntity()) {
$event
->setResponse(new RedirectResponse($entity
->toUrl()
->toString()));
}
elseif ($view = $this
->getView()) {
$display_id = $this->routeMatch
->getParameter('display_id');
/** @var \Drupal\views\ViewExecutable $executable */
$executable = $view
->getExecutable();
$executable
->setDisplay($display_id);
$url = $executable
->hasUrl() ? $executable
->getUrl()
->toString() : Url::fromRoute('<front>');
$event
->setResponse(new RedirectResponse($url));
}
}
}