storage = $tokenStorage; $this->auth = $auth; } public static function getSubscribedEvents(): array { return [ KernelEvents::REQUEST => ['prepareEnvironment', -100], ]; } public function prepareEnvironment(RequestEvent $event) { if (!$event->isMasterRequest()) { return; } if (null === $this->storage->getToken()) { return; } $user = $this->storage->getToken()->getUser(); // the locale depends on the request, not on the user configuration \Locale::setDefault($event->getRequest()->getLocale()); if ($user instanceof User) { date_default_timezone_set($user->getTimezone()); $user->initCanSeeAllData($this->auth->isGranted('view_all_data')); } } }