diff options
Diffstat (limited to 'apps/theming/lib/Listener/BeforeTemplateRenderedListener.php')
-rw-r--r-- | apps/theming/lib/Listener/BeforeTemplateRenderedListener.php | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php b/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php index d6e00b927ae..1d28a1d4399 100644 --- a/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php +++ b/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php @@ -29,6 +29,8 @@ use OCA\Theming\AppInfo\Application; use OCA\Theming\Service\BackgroundService; use OCA\Theming\Service\JSDataService; use OCA\Theming\Service\ThemeInjectionService; +use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; +use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Services\IInitialState; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; @@ -64,6 +66,17 @@ class BeforeTemplateRenderedListener implements IEventListener { fn () => $this->container->get(JSDataService::class), ); + /** @var BeforeTemplateRenderedEvent $event */ + if ($event->getResponse()->getRenderAs() === TemplateResponse::RENDER_AS_USER) { + $this->initialState->provideLazyInitialState('shortcutsDisabled', function () { + if ($this->userSession->getUser()) { + $uid = $this->userSession->getUser()->getUID(); + return $this->config->getUserValue($uid, Application::APP_ID, 'shortcuts_disabled', 'no') === 'yes'; + } + return false; + }); + } + $this->themeInjectionService->injectHeaders(); $user = $this->userSession->getUser(); |