diff options
Diffstat (limited to 'applications/luci-app-travelmate/luasrc')
7 files changed, 89 insertions, 74 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 64ab880c4d..12cb72cbe5 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 @@ -35,12 +35,8 @@ if uplink == "" then o.default = "trm_wwan" o.rmempty = false - function o.validate(self, value) - iface = value - return iface - end - function o.write(self, section, value) + iface = o:formvalue(section) uci:set("travelmate", section, "trm_iface", iface) uci:save("travelmate") uci:commit("travelmate") @@ -77,14 +73,24 @@ o1.default = o1.disabled o1.rmempty = false o2 = s:option(Flag, "trm_automatic", translate("Enable 'automatic' mode"), - translate("Keep travelmate in an active state.")) + translate("Keep travelmate in an active state. Check every n seconds the connection status, i.e. the uplink availability.")) o2.default = o2.enabled o2.rmempty = false +btn = s:option(Button, "", translate("Manual Rescan")) +btn:depends("trm_automatic", "") +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.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate")) +end + o3 = s:option(Value, "trm_iface", translate("Uplink / Trigger interface"), - translate("Name of the uplink interface that triggers travelmate processing.")) + translate("Name of the uplink interface that triggers travelmate processing in 'manual' mode.")) o3.datatype = "and(uciname,rangelength(3,15))" -o3.default = "trm_wwan" +o3.default = trmiface o3.rmempty = false o4 = s:option(Value, "trm_triggerdelay", translate("Trigger delay"), diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua index 979307e001..3f3f2348a7 100644 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua @@ -18,7 +18,7 @@ m.hidden = { device = http.formvalue("device"), ssid = http.formvalue("ssid"), wep = http.formvalue("wep"), - wpa_suites = http.formvalue("wpa_suites"), + wpa_suites = http.formvalue("wpa_suites"), wpa_version = http.formvalue("wpa_version") } @@ -45,11 +45,11 @@ end function wssid.write(self, section, value) newsection = uci:section("wireless", "wifi-iface", nil, { - mode = "sta", - network = trmiface, - device = m.hidden.device, - ssid = wssid:formvalue(section), - disabled = "1" + mode = "sta", + network = trmiface, + device = m.hidden.device, + ssid = wssid:formvalue(section), + disabled = "1" }) if (tonumber(m.hidden.wep) or 0) == 1 then uci:set("wireless", newsection, "encryption", "wep-open") diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua index 97ec1ca3ca..0c3cc1865b 100644 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua @@ -10,5 +10,4 @@ if cfg ~= nil then uci:save("wireless") uci:commit("wireless") end - http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations")) 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 0bae98460f..b0a77e4865 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 @@ -21,7 +21,6 @@ local s = uci:get_all("wireless", m.hidden.cfg) if s ~= nil then wssid = m:field(Value, "ssid", translate("SSID")) wssid.default = s.ssid - if s.encryption and s.key then wkey = m:field(Value, "key", translatef("Passphrase (%s)", s.encryption)) wkey.password = true @@ -33,7 +32,7 @@ if s ~= nil then end end else - http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations")) + m.on_cancel() end function wssid.write(self, section, value) @@ -43,7 +42,7 @@ function wssid.write(self, section, value) end uci:save("wireless") uci:commit("wireless") - http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations")) + m.on_cancel() end return m 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 5734841030..5b6141e52d 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 @@ -1,22 +1,37 @@ -- Copyright 2017 Dirk Brenken (dev@brenken.org) -- This is free software, licensed under the Apache License, Version 2.0 -local uci = require("luci.model.uci").cursor() local http = require("luci.http") local cfg = http.formvalue("cfg") -local pos = http.formvalue("pos") local dir = http.formvalue("dir") +local uci = require("luci.model.uci").cursor() +local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan" if cfg ~= nil then - if dir == "up" then - pos = pos - 1 - uci:reorder("wireless", cfg, pos) - elseif dir == "down" then - pos = pos + 1 - uci:reorder("wireless", cfg, pos) + local iface = "" + local section = "" + local idx = "" + local idx_change = "" + local changed = "" + uci:foreach("wireless", "wifi-iface", function(s) + iface = s.network + if iface == trmiface then + section = s['.name'] + if cfg == section then + idx = s['.index'] + else + idx_change = s['.index'] + end + if (dir == "up" and idx ~= "" and idx_change ~= "" and idx_change < idx) or + (dir == "down" and idx ~= "" and idx_change ~= "" and idx_change > idx) then + changed = uci:reorder("wireless", cfg, idx_change) + idx = "" + end + end + end) + if changed ~= "" then + uci:save("wireless") + uci:commit("wireless") end - uci:save("wireless") - uci:commit("wireless") end - http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations")) diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm index bdb265f195..41c9f5267d 100644 --- a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm @@ -3,7 +3,6 @@ Copyright 2017 Dirk Brenken (dev@brenken.org) This is free software, licensed under the Apache License, Version 2.0 -%> - <%- local write = io.write local uci = require "luci.model.uci".cursor() @@ -14,52 +13,47 @@ This is free software, licensed under the Apache License, Version 2.0 <div class="cbi-map"> <h2 name="content"><%:Wireless Stations%></h2> -<div class="cbi-map-descr"><%:Provides an overview of all configured uplink interfaces for travelmate. You can edit and delete existing interfaces or scan for new uplinks.%></div> +<div class="cbi-map-descr"> + <%=translatef("Provides an overview of all configured uplinks for the travelmate interface (%s). You can edit, delete or re-order existing uplinks or scan for a new one. The currently used uplink is emphasized in blue.", trmiface)%> +</div> <fieldset class="cbi-section"> <table class="cbi-section-table" style="empty-cells:hide"> <tr class="cbi-section-table-titles"> <th class="cbi-section-table-cell" style="text-align:left"><%:Device%></th> - <th class="cbi-section-table-cell" style="text-align:left"><%:Mode%></th> - <th class="cbi-section-table-cell" style="text-align:left"><%:Uplink Interface%></th> <th class="cbi-section-table-cell" style="text-align:left"><%:SSID%></th> <th class="cbi-section-table-cell" style="text-align:left"><%:Encryption%></th> - <th class="cbi-section-table-cell" style="text-align:left" colspan="3"><%:Disabled%></th> + <th class="cbi-section-table-cell" style="text-align:center" colspan="2"><%:Actions%></th> </tr> <% - local pos = 1 - uci:foreach("wireless", "wifi-iface", function(s) - pos = pos + 1 - local section = s['.name'] - local device = s.device or "" - local mode = s.mode or "" + uci:foreach("wireless", "wifi-iface", function(s) local iface = s.network or "" - local ssid = s.ssid or "" - local encryption = s.encryption or "" - local disabled = s.disabled or "" - local style = "color:#000000" - if disabled == "0" then - style = "color:#0069d6" - end if iface == trmiface then + local section = s['.name'] + local device = s.device or "" + local mode = s.mode or "" + local ssid = s.ssid or "" + local encryption = s.encryption or "" + local disabled = s.disabled or "" + local style = "color:#000000" + if disabled == "0" then + style = "color:#0069d6;font-weight:bold" + end %> - <tr class="cbi-section-table-row cbi-rowstyle-7" style="<%=style%>"> + <tr class="cbi-section-table-row cbi-rowstyle-1" style="<%=style%>"> <td style="text-align:left"><%=device%></td> - <td style="text-align:left"><%=mode%></td> - <td style="text-align:left"><%=iface%></td> <td style="text-align:left"><%=ssid%></td> <td style="text-align:left"><%=encryption%></td> - <td style="text-align:left"><%=disabled%></td> - <td class="cbi-value-field" style="width:100px;text-align:right"> - <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&pos=<%=pos%>&dir=up'" alt="<%:Move up%>" title="<%:Move up%>" /> - <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&pos=<%=pos%>&dir=down'" alt="<%:Move down%>" title="<%:Move down%>" /> + <td class="cbi-value-field" style="width:70px;text-align:right"> + <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>;dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/> + <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/> </td> - <td class="cbi-value-field" style="width:180px;text-align:right"> - <input type="button" class="cbi-button cbi-button-edit" style="width:85px" onclick="location.href='<%=url('admin/services/travelmate/wifiedit')%>?cfg=<%=section%>'" title="<%:Edit this Uplink%>" value="<%:Edit%>" /> - <input type="button" class="cbi-button cbi-button-remove" style="width:85px" onclick="location.href='<%=url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" value="<%:Delete%>"/> + <td class="cbi-value-field" style="width:150px;text-align:right"> + <input type="button" class="cbi-button cbi-button-edit" onclick="location.href='<%=url('admin/services/travelmate/wifiedit')%>?cfg=<%=section%>'" title="<%:Edit this Uplink%>" value="<%:Edit%>"/> + <input type="button" class="cbi-button cbi-button-remove" onclick="location.href='<%=url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" value="<%:Delete%>"/> </td> </tr> -<% +<% end end) %> @@ -71,13 +65,14 @@ This is free software, licensed under the Apache License, Version 2.0 local device = s[".name"] %> <form class="inline" action="<%=url('admin/services/travelmate/wifiscan')%>" method="post"> - <input type="hidden" name="device" value="<%=device%>" /> - <input type="hidden" name="token" value="<%=token%>" /> - <input type="submit" class="cbi-button cbi-button-find" style="width:110px" title="<%:Find and join network on %><%=device%>" value="<%:Scan %><%=device%>" /> + <input type="hidden" name="device" value="<%=device%>"/> + <input type="hidden" name="token" value="<%=token%>"/> + <input type="submit" class="cbi-button cbi-button-find" title="<%:Find and join network on %><%=device%>" value="<%:Scan %><%=device%>"/> </form> <% end) %> </div> +</div> <%+footer%> diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm index 2ce45c63cb..dea107eef4 100644 --- a/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm @@ -48,7 +48,7 @@ This is free software, licensed under the Apache License, Version 2.0 <th class="cbi-section-table-cell" style="text-align:left" colspan="2"><%:Signal strength%></th> </tr> <% for i, net in ipairs(iw.scanlist or { }) do%> - <tr class="cbi-section-table-row cbi-rowstyle-4"> + <tr class="cbi-section-table-row cbi-rowstyle-1"> <td class="cbi-value-field" style="text-align:left"> <strong><%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%></strong> </td> @@ -58,17 +58,17 @@ This is free software, licensed under the Apache License, Version 2.0 <td class="cbi-value-field" style="text-align:left"> <%=percent_wifi_signal(net)%> % </td> - <td class="cbi-value-field" style="width:120px; text-align:right"> + <td class="cbi-value-field" style="width:100px;text-align:right"> <form class="inline" action="<%=url('admin/services/travelmate/wifiadd')%>" method="post"> - <input type="hidden" name="token" value="<%=token%>" /> - <input type="hidden" name="device" value="<%=utl.pcdata(dev)%>" /> - <input type="hidden" name="ssid" value="<%=utl.pcdata(net.ssid)%>" /> - <input type="hidden" name="wep" value="<%=net.encryption.wep and 1 or 0%>" /> + <input type="hidden" name="token" value="<%=token%>"/> + <input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/> + <input type="hidden" name="ssid" value="<%=utl.pcdata(net.ssid)%>"/> + <input type="hidden" name="wep" value="<%=net.encryption.wep and 1 or 0%>"/> <% if net.encryption.wpa then %> - <input type="hidden" name="wpa_version" value="<%=net.encryption.wpa%>" /> - <% for _, v in ipairs(net.encryption.auth_suites) do %><input type="hidden" name="wpa_suites" value="<%=v%>" /> + <input type="hidden" name="wpa_version" value="<%=net.encryption.wpa%>"/> + <% for _, v in ipairs(net.encryption.auth_suites) do %><input type="hidden" name="wpa_suites" value="<%=v%>"/> <% end; end %> - <input class="cbi-button cbi-button-apply" style="width:110px" type="submit" value="<%:Add Uplink%>" /> + <input class="cbi-button cbi-button-apply" type="submit" value="<%:Add Uplink%>"/> </form> </td> </tr> @@ -77,13 +77,14 @@ This is free software, licensed under the Apache License, Version 2.0 </fieldset> <div class="cbi-page-actions right"> <form class="inline" action="<%=url('admin/services/travelmate/stations')%>" method="post"> - <input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>" /> + <input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>"/> </form> <form class="inline" action="<%=url('admin/services/travelmate/wifiscan')%>" method="post"> - <input type="hidden" name="token" value="<%=token%>" /> - <input type="hidden" name="device" value="<%=utl.pcdata(dev)%>" /> - <input class="cbi-button cbi-input-find" type="submit" value="<%:Repeat scan%>" /> + <input type="hidden" name="token" value="<%=token%>"/> + <input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/> + <input class="cbi-button cbi-input-find" type="submit" value="<%:Repeat scan%>"/> </form> </div> +</div> <%+footer%> |