feat: maintenance mode indicator for whitelisted ips

This commit is contained in:
2026-09-11 08:29:51 +02:00
parent 3cdaee1df3
commit d86eb1fd2e
5 changed files with 64 additions and 0 deletions
+1
View File
@@ -31,6 +31,7 @@ class AppExtension extends AbstractExtension
return [
new TwigFunction('icon', [AppRuntime::class, 'renderIcon'], ['needs_environment' => true, 'is_safe' => ['html']]),
new TwigFunction('is_current_route', [AppRuntime::class, 'isCurrentRoute']),
new TwigFunction('is_maintenance_mode', [AppRuntime::class, 'isMaintenanceMode']),
new TwigFunction('return_url', [AppRuntime::class, 'getEncodedReturnUrl']),
new TwigFunction('forwarded_return_url', [AppRuntime::class, 'getForwardedReturnUrl']),
new TwigFunction('qa_attribute', [AppRuntime::class, 'renderQaAttribute'], ['is_safe' => ['html']]),
+8
View File
@@ -180,6 +180,14 @@ class AppRuntime implements RuntimeExtensionInterface
return $requestedRoute === $route;
}
/**
* The attribute is set by MaintenanceModeListener, on the ip whitelist branch only.
*/
public function isMaintenanceMode(): bool
{
return true === $this->requestStack->getMainRequest()?->attributes->get('_maintenance_mode_allowed');
}
public function getEncodedReturnUrl(): string
{
$masterRequest = $this->requestStack->getMainRequest();