diff --git a/app/js/controllers/init/create/RootBlockController.js b/app/js/controllers/init/create/RootBlockController.js index 51160ac334d9697eb68255143a87c990e5b3c169..b52cddd622936e8983a95909f137c49352b3cf14 100644 --- a/app/js/controllers/init/create/RootBlockController.js +++ b/app/js/controllers/init/create/RootBlockController.js @@ -7,6 +7,7 @@ module.exports = ($scope, $http, $state, BMA) => { $scope.generated = ''; $scope.started = false; + $scope.message = 'configuration.create_root.need_a_try'; co(function *() { try { @@ -19,12 +20,16 @@ module.exports = ($scope, $http, $state, BMA) => { }); $scope.start = () => co(function *() { - yield BMA.webmin.server.http.start(); - $scope.started = true; - yield BMA.webmin.server.sendConf({ - conf: $scope.$parent.conf - }); - yield $scope.try(); + try { + yield BMA.webmin.server.http.start(); + $scope.started = true; + yield BMA.webmin.server.sendConf({ + conf: $scope.$parent.conf + }); + yield $scope.try(); + } catch (e) { + $scope.message = e.message; + } }); $scope.stop = () => co(function *() { @@ -33,8 +38,13 @@ module.exports = ($scope, $http, $state, BMA) => { }); $scope.try = () => co(function *() { - $scope.block = yield BMA.webmin.server.previewNext(); - $scope.generated = $scope.block.raw; + try { + $scope.block = yield BMA.webmin.server.previewNext(); + $scope.generated = $scope.block.raw; + $scope.message = ''; + } catch (e) { + $scope.message = e.message; + } }); $scope.accept = () => co(function *() { diff --git a/app/js/lib/conf/conf.js b/app/js/lib/conf/conf.js index f5e5f5b1da32ff74c52df8f1cc3ef36e21fc53fa..3629194d9392e341d9e27f5f43a4dea7f31b5ff6 100644 --- a/app/js/lib/conf/conf.js +++ b/app/js/lib/conf/conf.js @@ -2,5 +2,6 @@ module.exports = { "server": "", // Empty server will use the browser current host "port": "", // Empty port will use the browser current port "default_port": 9220, - "dev_autoconf": false + "dev_autoconf": false, + "api_timeout": 10000 // 10 sec timeout }; diff --git a/app/js/services/bma.js b/app/js/services/bma.js index 427faf03fdb6d0230d8824524d52b5e8a9eb60f9..6c3fa8e4b41c1ef7592bd648358ad1b25b5365bb 100644 --- a/app/js/services/bma.js +++ b/app/js/services/bma.js @@ -14,7 +14,7 @@ module.exports = (angular) => { return function(params) { return $q.when(Q.Promise((resolve, reject) => { var config = { - timeout: 4000 + timeout: conf.api_timeout }, suffix = '', pkeys = [], queryParams = null; if (typeof params == 'object') { pkeys = _.keys(params); diff --git a/app/views/init/create/create_root.jade b/app/views/init/create/create_root.jade index 64629a0c46b5f2865b9ebfc0ae87cf9a83e94c46..42abced77db53cd8fa6cc7927449f534bb6588ce 100644 --- a/app/views/init/create/create_root.jade +++ b/app/views/init/create/create_root.jade @@ -24,7 +24,7 @@ .card-action pre.card-panel.teal.white-text.code.left-align.small(ng-show="generated") {{ generated }} - blockquote.card-panel.left-align(ng-show="!generated") {{ 'configuration.create_root.need_a_try' | translate }} + blockquote.card-panel.left-align(ng-show="message") {{ message | translate }} .card-action