From ba1d6457b4a517e0a25ea4b7de2c92bb60486ef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Schr=C3=B6der?= Date: Wed, 27 May 2015 11:30:41 +0200 Subject: [PATCH] Fixed wan interface name --- luciexpress/etc/config/juci | 2 +- luciexpress/htdocs/js/config.js | 15 +++++++++++++-- luciexpress/htdocs/plugins/core/pages/overview.js | 2 +- .../htdocs/plugins/core/widgets/luci.footer.js | 4 ++-- .../htdocs/plugins/internet/pages/internet.dns.js | 8 +++----- .../internet/pages/internet.exposed_host.js | 2 +- .../plugins/internet/pages/internet.firewall.js | 10 ++++++++-- .../htdocs/plugins/status/pages/status.status.js | 8 ++++---- 8 files changed, 33 insertions(+), 18 deletions(-) diff --git a/luciexpress/etc/config/juci b/luciexpress/etc/config/juci index be5c4b9ee..c93387c5b 100644 --- a/luciexpress/etc/config/juci +++ b/luciexpress/etc/config/juci @@ -1,4 +1,4 @@ -config 'juci-settings' 'settings' +config 'settings' 'settings' option theme 'vodafone' option lang 'en' list themes 'vodaphone' diff --git a/luciexpress/htdocs/js/config.js b/luciexpress/htdocs/js/config.js index c7a747912..3d0a54152 100644 --- a/luciexpress/htdocs/js/config.js +++ b/luciexpress/htdocs/js/config.js @@ -8,13 +8,24 @@ var deferred = $.Deferred(); var self = this; console.log("Init CONFIG"); - UCI.sync("juci").done(function(){ + + self["wan_interface"] = "wan"; + self["voice_interface"] = "wan"; + self["iptv_interface"] = "wan"; + + UCI.sync(["juci", "boardpanel"]).done(function(){ if(UCI.juci && UCI.juci.settings){ console.log("Using settings from config/juci on router"); Object.keys(UCI.juci.settings).map(function(k){ var i = UCI.juci.settings[k]; - if(i instanceof Object && "value" in i) self[k] = i.value; + if(i.value !== undefined) self[k] = i.value; }); + if(UCI.boardpanel && UCI.boardpanel.settings){ + var net = UCI.boardpanel.network; + if(net.internet.value) self["wan_interface"] = net.internet.value; + if(net.voice.value) self["voice_interface"] = net.voice.value; + if(net.iptv.value) self["iptv_interface"] = net.iptv.value; + } deferred.resolve(); } else { loadJSON(); diff --git a/luciexpress/htdocs/plugins/core/pages/overview.js b/luciexpress/htdocs/plugins/core/pages/overview.js index 7d2edceec..1a54ebb4d 100644 --- a/luciexpress/htdocs/plugins/core/pages/overview.js +++ b/luciexpress/htdocs/plugins/core/pages/overview.js @@ -69,7 +69,7 @@ $juci.module("core") });; }, function(next){ - var ifname = "wan"; // TODO: replace this with dynamic string after merge + var ifname = $config.wan_interface; // TODO: replace this with dynamic string after merge $rpc.network.interface.dump().done(function(interfaces){ var conn = ""; if(interfaces && interfaces.interface){ diff --git a/luciexpress/htdocs/plugins/core/widgets/luci.footer.js b/luciexpress/htdocs/plugins/core/widgets/luci.footer.js index 16b4ae37c..aa5c29575 100644 --- a/luciexpress/htdocs/plugins/core/widgets/luci.footer.js +++ b/luciexpress/htdocs/plugins/core/widgets/luci.footer.js @@ -9,7 +9,7 @@ JUCI.app controller: "luciFooter" }; }) -.controller("luciFooter", function($scope, $rpc, $languages, gettextCatalog, gettext, $tr){ +.controller("luciFooter", function($scope, $rpc, $languages, gettextCatalog, gettext, $tr, $config){ // TODO: move this into a higher level controller maybe? $scope.languages = $languages.getLanguages(); $scope.isActiveLanguage = function(lang){ @@ -27,7 +27,7 @@ JUCI.app $rpc.network.interface.dump().done(function(result){ if(result && result.interface) { result.interface.map(function(i){ - if(i.interface == "wan" && i["ipv4-address"] && i["ipv4-address"].length){ + if(i.interface == $config.wan_interface && i["ipv4-address"] && i["ipv4-address"].length){ $scope.wanip = i["ipv4-address"][0].address; } }); diff --git a/luciexpress/htdocs/plugins/internet/pages/internet.dns.js b/luciexpress/htdocs/plugins/internet/pages/internet.dns.js index 46ceb432f..c769d7d20 100644 --- a/luciexpress/htdocs/plugins/internet/pages/internet.dns.js +++ b/luciexpress/htdocs/plugins/internet/pages/internet.dns.js @@ -1,10 +1,8 @@ JUCI.app -.controller("InternetDNSPageCtrl", function ($scope, $uci, $log) { - $scope.providers = ["dyndns.org"]; - $log.info("uci", $uci); +.controller("InternetDNSPageCtrl", function ($scope, $uci, $log, $config) { $uci.sync(["network","ddns"]).done(function () { - if ($uci.network && $uci.network.wan) { - var wan = $uci.network.wan; + if ($uci.network) { + var wan = $uci.network[$config.wan_interface]; while(wan.dns.value.length < 2) wan.dns.value.push(""); $scope.dnsServers = wan.dns.value.map(function(x){ return { value: x }; }); $scope.onDNSBlur = function(){ diff --git a/luciexpress/htdocs/plugins/internet/pages/internet.exposed_host.js b/luciexpress/htdocs/plugins/internet/pages/internet.exposed_host.js index 6ba52f89a..c94bf6ac9 100644 --- a/luciexpress/htdocs/plugins/internet/pages/internet.exposed_host.js +++ b/luciexpress/htdocs/plugins/internet/pages/internet.exposed_host.js @@ -22,7 +22,7 @@ $juci.module("internet") }, function(next){ $rpc.network.interface.status({ - "interface": "wan" + "interface": $config.wan_interface }).done(function(wan){ if("ipv4-address" in wan) $scope.wan.ip = wan["ipv4-address"][0].address; diff --git a/luciexpress/htdocs/plugins/internet/pages/internet.firewall.js b/luciexpress/htdocs/plugins/internet/pages/internet.firewall.js index 730e5fde1..a9268ed36 100644 --- a/luciexpress/htdocs/plugins/internet/pages/internet.firewall.js +++ b/luciexpress/htdocs/plugins/internet/pages/internet.firewall.js @@ -1,11 +1,14 @@ $juci.module("internet") -.controller("InternetFirewallPageCtrl", function($scope, $uci){ +.controller("InternetFirewallPageCtrl", function($scope, $uci, $config){ $scope.firewallSwitchState = 0; $uci.sync("firewall").done(function(){ $scope.firewall = $uci.firewall; - $scope.firewallSwitchState = $uci.firewall["@rule"].filter(function(rule){ return rule.enabled.value == true; }).length > 0; + $scope.firewallSwitchState = $uci.firewall["@zone"].filter(function(zone){ + return zone.name.value == "wan" && zone.input.value == "ACCEPT" && zone.forward.value == "ACCEPT"; + }).length > 0; $scope.$apply(); }); + $scope.onFirewallToggle = function(){ if($scope.firewallSwitchState) { $uci.firewall["@zone"].map(function(zone){ @@ -23,4 +26,7 @@ $juci.module("internet") }); } } + + // just to update the rules based on switch value + $scope.onFirewallToggle(); }); diff --git a/luciexpress/htdocs/plugins/status/pages/status.status.js b/luciexpress/htdocs/plugins/status/pages/status.status.js index f371f0768..79ad8bfcb 100644 --- a/luciexpress/htdocs/plugins/status/pages/status.status.js +++ b/luciexpress/htdocs/plugins/status/pages/status.status.js @@ -1,7 +1,7 @@ //! Author: Martin K. Schröder JUCI.app -.controller("StatsOverviewCtrl", function ($scope, $uci, $rpc, gettext) { +.controller("StatsOverviewCtrl", function ($scope, $uci, $rpc, gettext, $config) { //$scope.expanded = false; $scope.sections = [{}, {}, {}]; @@ -19,9 +19,9 @@ JUCI.app function(next){ var sections = []; [ - { name: gettext("Internet"), value: $uci.boardpanel.network.internet.value||"wan" }, - { name: gettext("Voice"), value: $uci.boardpanel.network.voice.value }, - { name: gettext("IPTV"), value: $uci.boardpanel.network.iptv.value } + { name: gettext("Internet"), value: $config.wan_interface }, + { name: gettext("Voice"), value: $config.voice_interface }, + { name: gettext("IPTV"), value: $config.iptv_interface } ] .filter(function(x){ return x.value != "" }) .forEach(function(x, c){