diff options
author | Dirk Brenken <dev@brenken.org> | 2017-08-12 08:03:48 +0200 |
---|---|---|
committer | Dirk Brenken <dev@brenken.org> | 2017-08-12 08:03:48 +0200 |
commit | 3317104647c6e189094464d045d9ec76ee8530e9 (patch) | |
tree | 160ca0cb5b117d26df68db5a98e9e5162954e51f /applications/luci-app-travelmate/luasrc/model/cbi | |
parent | 4e80499a023fb195c7c897841473f526ffd0c7fa (diff) |
luci-app-travelmate: sync with 0.9.2
* frontend: add/modify input datatypes in 'extra' section
* frontend: add support to edit/change wpa enterprise key phrases
* frontend: various small fixes
Signed-off-by: Dirk Brenken <dev@brenken.org>
Diffstat (limited to 'applications/luci-app-travelmate/luasrc/model/cbi')
3 files changed, 35 insertions, 26 deletions
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua index b16fb4161e..add52317b4 100644 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua @@ -4,8 +4,8 @@ local fs = require("nixio.fs") local uci = require("luci.model.uci").cursor() local json = require("luci.jsonc") -local nw = require("luci.model.network").init() -local fw = require("luci.model.firewall").init() +local nw = require("luci.model.network").init() +local fw = require("luci.model.firewall").init() local trmiface = uci.get("travelmate", "global", "trm_iface") or "trm_wwan" local trminput = uci.get("travelmate", "global", "trm_rtfile") or "/tmp/trm_runtime.json" local uplink = uci.get("network", trmiface) or "" @@ -18,7 +18,7 @@ m = Map("travelmate", translate("Travelmate"), .. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/travelmate/files/README.md")) function m.on_after_commit(self) - luci.sys.call("/etc/init.d/travelmate restart >/dev/null 2>&1") + luci.sys.call("env -i /etc/init.d/travelmate restart >/dev/null 2>&1") luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate")) end @@ -27,36 +27,38 @@ s = m:section(NamedSection, "global", "travelmate") -- Interface Wizard if uplink == "" then - dv = s:option(DummyValue, "nil", translate("Interface Wizard")) + dv = s:option(DummyValue, "", translate("Interface Wizard")) dv.template = "cbi/nullsection" - o = s:option(Value, "trm_iface", translate("Uplink interface")) + o = s:option(Value, "", translate("Uplink interface")) o.datatype = "and(uciname,rangelength(3,15))" - o.default = "trm_wwan" + o.default = trmiface o.rmempty = false - btn = s:option(Button, "", translate("Create Uplink Interface"), + btn = s:option(Button, "trm_iface", translate("Create Uplink Interface"), translate("Create a new wireless wan uplink interface, configure it to use dhcp and ") .. translate("add it to the wan zone of the firewall. This step has only to be done once.")) btn.inputtitle = translate("Add Interface") btn.inputstyle = "apply" btn.disabled = false function btn.write(self, section, value) - iface = o:formvalue(section) - uci:set("travelmate", section, "trm_iface", iface) - uci:save("travelmate") - uci:commit("travelmate") - local net = nw:add_network(iface, { proto = "dhcp" }) - if net then - nw:save("network") - nw:commit("network") - local zone = fw:get_zone_by_network("wan") - if zone then - zone:add_network(iface) - fw:save("firewall") - fw:commit("firewall") - luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1") + local iface = o:formvalue(section) + if iface then + uci:set("travelmate", section, "trm_iface", iface) + uci:save("travelmate") + uci:commit("travelmate") + local net = nw:add_network(iface, { proto = "dhcp" }) + if net then + nw:save("network") + nw:commit("network") + local zone = fw:get_zone_by_network("wan") + if zone then + zone:add_network(iface) + fw:save("firewall") + fw:commit("firewall") + end end + luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1") end luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate")) end @@ -80,7 +82,7 @@ btn.inputtitle = translate("Rescan") btn.inputstyle = "find" btn.disabled = false function btn.write() - luci.sys.call("/etc/init.d/travelmate start >/dev/null 2>&1") + luci.sys.call("env -i /etc/init.d/travelmate start >/dev/null 2>&1") luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate")) end @@ -162,6 +164,7 @@ translate("Options for further tweaking in case the defaults are not suitable fo e1 = e:option(Value, "trm_radio", translate("Radio selection"), translate("Restrict travelmate to a dedicated radio, e.g. 'radio0'")) +e1.datatype = "and(uciname,rangelength(6,6))" e1.rmempty = true e2 = e:option(Value, "trm_maxretry", translate("Connection Limit"), @@ -179,7 +182,7 @@ e3.rmempty = false e4 = e:option(Value, "trm_timeout", translate("Overall Timeout"), translate("Timeout in seconds between retries in 'automatic' mode")) e4.default = 60 -e4.datatype = "range(5,300)" +e4.datatype = "range(60,300)" e4.rmempty = false return m diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua index 6d6bdcff44..c60ff22c4d 100644 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua @@ -22,10 +22,15 @@ local s = uci:get_all("wireless", m.hidden.cfg) if s ~= nil then wssid = m:field(Value, "ssid", translate("SSID")) wssid.default = s.ssid + wssid.datatype = "rangelength(1,32)" if s.encryption and s.key then wkey = m:field(Value, "key", translatef("Passphrase (%s)", s.encryption)) + elseif s.encryption and s.password then + wkey = m:field(Value, "password", translatef("Passphrase (%s)", s.encryption)) + end + if s.encryption and (s.key or s.password) then wkey.password = true - wkey.default = s.key + wkey.default = s.key or s.password if s.encryption == "wep" then wkey.datatype = "wepkey" else @@ -40,6 +45,8 @@ function wssid.write(self, section, value) uci:set("wireless", m.hidden.cfg, "ssid", wssid:formvalue(section)) if s.encryption and s.key then uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section)) + elseif s.encryption and s.password then + uci:set("wireless", m.hidden.cfg, "password", wkey:formvalue(section)) end uci:save("wireless") uci:commit("wireless") diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua index 5b6141e52d..6eb4c72063 100644 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua @@ -8,13 +8,12 @@ local uci = require("luci.model.uci").cursor() local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan" if cfg ~= nil then - local iface = "" local section = "" local idx = "" local idx_change = "" local changed = "" uci:foreach("wireless", "wifi-iface", function(s) - iface = s.network + local iface = s.network or "" if iface == trmiface then section = s['.name'] if cfg == section then |