From 6c817f95e9b382860d68d02be8efdd17a5f53899 Mon Sep 17 00:00:00 2001 From: Fracsi Date: Mon, 14 Oct 2024 15:09:34 +0200 Subject: [PATCH] Add hasContext in AdminContextProvider Use `ea.hasContext` in twig templates instead of `is defined` --- src/Provider/AdminContextProvider.php | 7 +++++++ src/Resources/views/flash_messages.html.twig | 7 ++----- src/Resources/views/page/login.html.twig | 15 ++++++--------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/Provider/AdminContextProvider.php b/src/Provider/AdminContextProvider.php index c7105d1585..77ea7ad0e7 100644 --- a/src/Provider/AdminContextProvider.php +++ b/src/Provider/AdminContextProvider.php @@ -31,6 +31,13 @@ public function __construct(RequestStack $requestStack) $this->requestStack = $requestStack; } + public function hasContext(): bool + { + $currentRequest = $this->requestStack->getCurrentRequest(); + + return null !== $currentRequest && $currentRequest->attributes->has(EA::CONTEXT_REQUEST_ATTRIBUTE); + } + public function getContext(bool $throw = false): ?AdminContext { $currentRequest = $this->requestStack->getCurrentRequest(); diff --git a/src/Resources/views/flash_messages.html.twig b/src/Resources/views/flash_messages.html.twig index e46c0a647a..710ad4c227 100644 --- a/src/Resources/views/flash_messages.html.twig +++ b/src/Resources/views/flash_messages.html.twig @@ -1,8 +1,5 @@ -{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #} -{# This template checks for 'ea' variable existence because it can - be used in a EasyAdmin Dashboard controller, where 'ea' is defined - or from any other Symfony controller, where 'ea' is not defined #} -{% trans_default_domain ea is defined ? ea.i18n.translationDomain : (translation_domain is defined ? translation_domain ?? 'messages') %} +{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Provider\AdminContextProvider #} +{% trans_default_domain ea.hasContext ? ea.i18n.translationDomain : (translation_domain is defined ? translation_domain ?? 'messages') %} {% set flash_messages = app.flashes %} diff --git a/src/Resources/views/page/login.html.twig b/src/Resources/views/page/login.html.twig index 2e35fd4272..6856744af9 100644 --- a/src/Resources/views/page/login.html.twig +++ b/src/Resources/views/page/login.html.twig @@ -1,12 +1,9 @@ -{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #} -{# This template checks for 'ea' variable existence because it can - be used in a EasyAdmin Dashboard controller, where 'ea' is defined - or from any other Symfony controller, where 'ea' is not defined #} -{% extends ea is defined ? ea.templatePath('layout') : '@EasyAdmin/page/login_minimal.html.twig' %} -{% trans_default_domain ea is defined ? ea.i18n.translationDomain : (translation_domain is defined ? translation_domain ?? 'messages') %} +{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Provider\AdminContextProvider #} +{% extends ea.hasContext ? ea.templatePath('layout') : '@EasyAdmin/page/login_minimal.html.twig' %} +{% trans_default_domain ea.hasContext ? ea.i18n.translationDomain : (translation_domain is defined ? translation_domain ?? 'messages') %} {% block body_class 'page-login' %} -{% block page_title %}{{ page_title is defined ? page_title|raw : (ea is defined ? ea.dashboardTitle|raw : '') }}{% endblock %} +{% block page_title %}{{ page_title is defined ? page_title|raw : (ea.hasContext ? ea.dashboardTitle|raw : '') }}{% endblock %} {% block head_favicon %} {% if favicon_path|default(false) %} @@ -31,7 +28,7 @@