diff --git a/app/js/controllers/init/sync/SyncController.js b/app/js/controllers/init/sync/SyncController.js index 58ebc677cf6e5d36027a61e59684f8803cb1d0f6..1847e2ea8607a058d782e4cc66639ce570098839 100644 --- a/app/js/controllers/init/sync/SyncController.js +++ b/app/js/controllers/init/sync/SyncController.js @@ -2,7 +2,7 @@ var co = require('co'); -module.exports = ($scope, $http, $state, $timeout, $stateParams, BMA, UIUtils) => { +module.exports = ($scope, $http, $state, $timeout, $stateParams, $translate, BMA, UIUtils) => { let syncWS = BMA.webmin.ws(); @@ -38,17 +38,18 @@ module.exports = ($scope, $http, $state, $timeout, $stateParams, BMA, UIUtils) = $scope.synchronizing = true; return co(function *() { let sp = $scope.checked_host.split(':'); + let translatedErr = yield $translate('err.sync.interrupted'); syncWS.on(undefined, (data) => { if (data.type == 'sync') { $scope.down_percent = 100; $scope.apply_percent = 100; $scope.sync_failed = data.value; + let errorMessage = data.msg && (data.msg.message || data.msg); + errorMessage = translatedErr + ' « ' + errorMessage + ' »'; if (data.value === true) { $state.go('index'); } else { - $timeout(() => { - window.location.href = ""; - }, 500); + $state.go('error', { err: errorMessage }); } } else { let changed = true; diff --git a/app/js/lib/conf/i18n/en.json b/app/js/lib/conf/i18n/en.json index 47a7ea9a63cdb3422adc6a786194dcf4d04b8c78..77a419ff66aa265882d16fe93ef8a4b660c8f084 100644 --- a/app/js/lib/conf/i18n/en.json +++ b/app/js/lib/conf/i18n/en.json @@ -12,6 +12,7 @@ "err.unknown": "Unknown error", "err.connection": "Could not connect to node", "err.back_index": "Get back to previous screen", + "err.sync.interrupted": "Sync interrupted because the following error occured:", "index.message.loading": "Loading...", "index.message.current_block": "Current block {{ number }}", "configuration.init.choose.title": "Initialization",