diff options
-rw-r--r-- | core/js/router.js | 9 | ||||
-rw-r--r-- | lib/base.php | 1 |
2 files changed, 8 insertions, 2 deletions
diff --git a/core/js/router.js b/core/js/router.js index 8b66f5a05c5..3562785b342 100644 --- a/core/js/router.js +++ b/core/js/router.js @@ -1,9 +1,14 @@ OC.router_base_url = OC.webroot + '/index.php/', OC.Router = { + // register your ajax requests to load after the loading of the routes + // has finished. otherwise you face problems with race conditions + registerLoadedCallback: function(callback){ + this.routes_request.done(callback); + }, routes_request: $.ajax(OC.router_base_url + 'core/routes.json', { dataType: 'json', success: function(jsondata) { - if (jsondata.status == 'success') { + if (jsondata.status === 'success') { OC.Router.routes = jsondata.data; } } @@ -11,7 +16,7 @@ OC.Router = { generate:function(name, opt_params) { if (!('routes' in this)) { if(this.routes_request.state() != 'resolved') { - alert('wait');// wait + console.warn('To avoid race conditions, please register a callback');// wait } } if (!(name in this.routes)) { diff --git a/lib/base.php b/lib/base.php index c97700b3dbf..66d2d400285 100644 --- a/lib/base.php +++ b/lib/base.php @@ -488,6 +488,7 @@ class OC{ return; } try { + OC_App::loadApps(); OC::getRouter()->match(OC_Request::getPathInfo()); return; } catch (Symfony\Component\Routing\Exception\ResourceNotFoundException $e) { |