diff --git a/app/js/controllers/main/home/tabs/OverviewController.js b/app/js/controllers/main/home/tabs/OverviewController.js index 5fc6b2e92ce269f0853cfb780d0bf8cff6692b3d..352e455d6959df785b3ea5e02d1640561cef41b2 100644 --- a/app/js/controllers/main/home/tabs/OverviewController.js +++ b/app/js/controllers/main/home/tabs/OverviewController.js @@ -38,8 +38,41 @@ module.exports = ($scope, BMA, UIUtils, summary, bmapi, ws) => { $scope.$apply(); }); } + + $scope.reconfigure_network = () => co(function *() { + $scope.reconfiguring = true; + let delay = Q.delay(1000); + try { + let netinferfaces = yield BMA.webmin.network.interfaces(); + let conf = {}; + conf.local_ipv4 = netinferfaces.auto.local.ipv4 || ''; + conf.local_ipv6 = netinferfaces.auto.local.ipv6 || ''; + conf.remote_ipv4 = netinferfaces.auto.remote.ipv4 || ''; + conf.remote_ipv6 = netinferfaces.auto.remote.ipv6 || ''; + conf.lport = netinferfaces.auto.local.port || 9330; + conf.rport = netinferfaces.auto.remote.port || 9330; + conf.upnp = netinferfaces.auto.remote.upnp || false; + conf.dns = netinferfaces.auto.remote.dns || ''; + yield BMA.webmin.server.netConf({ + conf: conf + }); + yield delay; + $scope.should_reconfigure = false; + UIUtils.toast('general.network.reconf_ok'); + $scope.$apply(); + } catch (e) { + yield delay; + $scope.reconfiguring = false; + $scope.$apply(); + } + }); return co(function *() { yield $scope.startServer(); + try { + yield bmapi.network.peering.self(); + } catch (e) { + $scope.should_reconfigure = true; + } }); }; diff --git a/app/js/lib/conf/i18n/en.json b/app/js/lib/conf/i18n/en.json index 7285d45968e210a11be4904a452c3027986d7835..f8bf2b7a0022e964bd0104e900933d2080f6bc91 100644 --- a/app/js/lib/conf/i18n/en.json +++ b/app/js/lib/conf/i18n/en.json @@ -5,6 +5,7 @@ "general.server.started": "Server started", "general.server.stopped": "Server stopped", "general.choose_option": "Choose your option", + "general.network.reconf_ok": "Reconfiguration success", "global.button.validate": "Validate", "global.button.start": "Start", "err.unknown": "Unknown error", @@ -87,6 +88,7 @@ "home.current.powMin": "Common difficulty level", "home.current.mmass": "Monetary mass", "home.tabs.overview": "Overview", + "home.tabs.overview.should_reconfigure": "Your configuration has changed and your node is no more reachable from the network. You should reconfigure it to have a functional node.", "home.tabs.logs": "Logs", "home.tabs.logs.follow.logs": "Follow logs", "home.tabs.logs.pause.logs": "Pause logs", diff --git a/app/js/lib/conf/routes.js b/app/js/lib/conf/routes.js index 7bab39992fda1fa50032717ac667db5f3fceef3f..60eb657351d21bc05ecb9b5350abbcf979a9a2b1 100644 --- a/app/js/lib/conf/routes.js +++ b/app/js/lib/conf/routes.js @@ -110,8 +110,7 @@ module.exports = (app) => { startHttp: (BMA) => BMA.webmin.server.http.start(), bmapi: (BMA, summary) => co(function *() { return BMA.instance(summary.host); - }), - parameters: (bmapi) => bmapi.currency.parameters() + }) }, controller: 'OverviewController' }). diff --git a/app/styles/main.styl b/app/styles/main.styl index f695209882a07b5e0f9d0a6adde4a6d7d0febafc..a5c29531a2c3f6fc9613d0e226536288f4670bca 100644 --- a/app/styles/main.styl +++ b/app/styles/main.styl @@ -182,4 +182,9 @@ blockquote background-color: rgba(217, 0, 255, 0.14) .log-time - color: #888888 \ No newline at end of file + color: #888888 + +.network-alert .card-content + p + margin-top 10px + margin-bottom 20px \ No newline at end of file diff --git a/app/views/main/home/tabs/overview.jade b/app/views/main/home/tabs/overview.jade index e6b20af3d304fb2c247a14f61fe9410c34bf8200..349116ecec957c96439c4943864212b284242ba3 100644 --- a/app/views/main/home/tabs/overview.jade +++ b/app/views/main/home/tabs/overview.jade @@ -1,5 +1,23 @@ -.container.home - .row +.container + .row(ng-show="should_reconfigure") + .card.network-alert + blockquote.card-content.left-align + .center + i.fa.fa-globe.fa-5x + h6.card-title(translate="configuration.create_network.title") + .left-align + p {{ 'home.tabs.overview.should_reconfigure' | translate }} + .center(ng-if="!reconfiguring") + button.btn-large.waves-effect.waves-light(ng-click="reconfigure_network()") + i.left.fa.fa-magic + span(translate="configuration.create_network.button.autoconf") + .center(ng-if="reconfiguring") + .preloader-wrapper.active + .spinner-layer.spinner-blue-only + .circle-clipper.left + .circle + + .row.home .col.s6.m3 .card#server_state .card-content