From f68eb3f20f00fa2ee81876d4c560feafe34ebbf2 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Mon, 4 Apr 2016 18:37:09 +1000 Subject: [PATCH] Move halcyon registration to model boot Attempt to fix issue where service provider looks at system_preferences database table that doesn't exist yet as part of the boot() method Fixes #1897 --- modules/cms/ServiceProvider.php | 18 ----------------- modules/cms/classes/CmsObject.php | 31 ++++++++++++++++++++++++++++++ modules/system/ServiceProvider.php | 2 ++ 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/modules/cms/ServiceProvider.php b/modules/cms/ServiceProvider.php index 68d1b475d..3125d48d7 100644 --- a/modules/cms/ServiceProvider.php +++ b/modules/cms/ServiceProvider.php @@ -48,7 +48,6 @@ class ServiceProvider extends ModuleServiceProvider { parent::boot('cms'); - $this->bootDefaultTheme(); $this->bootMenuItemEvents(); $this->bootRichEditorEvents(); } @@ -285,21 +284,4 @@ class ServiceProvider extends ModuleServiceProvider } }); } - - /** - * Boot the default theme. - */ - protected function bootDefaultTheme() - { - $resolver = App::make('halcyon'); - if ($resolver->getDefaultDatasource()) { - return; - } - - $defaultTheme = App::runningInBackend() - ? CmsTheme::getEditThemeCode() - : CmsTheme::getActiveThemeCode(); - - $resolver->setDefaultDatasource($defaultTheme); - } } diff --git a/modules/cms/classes/CmsObject.php b/modules/cms/classes/CmsObject.php index 82efdc0ec..7e7dff0b4 100644 --- a/modules/cms/classes/CmsObject.php +++ b/modules/cms/classes/CmsObject.php @@ -1,5 +1,6 @@ getDefaultDatasource()) { + return; + } + + $defaultTheme = App::runningInBackend() + ? Theme::getEditThemeCode() + : Theme::getActiveThemeCode(); + + Theme::load($defaultTheme); + + $resolver->setDefaultDatasource($defaultTheme); + } + /** * Loads the object from a file. * This method is used in the CMS back-end. It doesn't use any caching. diff --git a/modules/system/ServiceProvider.php b/modules/system/ServiceProvider.php index 7d3643e1b..eefbda140 100644 --- a/modules/system/ServiceProvider.php +++ b/modules/system/ServiceProvider.php @@ -97,9 +97,11 @@ class ServiceProvider extends ModuleServiceProvider App::singleton('backend.helper', function () { return new \Backend\Helpers\Backend; }); + App::singleton('backend.menu', function () { return \Backend\Classes\NavigationManager::instance(); }); + App::singleton('backend.auth', function () { return \Backend\Classes\AuthManager::instance(); });