From 5dd6be451372f44363bd0428c2e44cf912540e50 Mon Sep 17 00:00:00 2001 From: Dirk Brenken Date: Tue, 25 Jul 2017 07:24:59 +0200 Subject: [PATCH] luci-app-travelmate: enhancements & fixes * add re-ordering buttons in Station Overview * fix possible nil error during wifi scan Signed-off-by: Dirk Brenken --- .../luasrc/controller/travelmate.lua | 1 + .../luasrc/model/cbi/travelmate/wifi_order.lua | 22 ++++++++++++++++++++++ .../luasrc/view/travelmate/stations.htm | 14 ++++++++++---- .../luasrc/view/travelmate/wifi_scan.htm | 2 +- 4 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua diff --git a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua index 71fb17996..a418a8ec6 100644 --- a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua +++ b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua @@ -26,6 +26,7 @@ function index() entry({"admin", "services", "travelmate", "wifiadd"}, cbi("travelmate/wifi_add", {hideresetbtn=true, hidesavebtn=true})).leaf = true entry({"admin", "services", "travelmate", "wifiedit"}, cbi("travelmate/wifi_edit", {hideresetbtn=true, hidesavebtn=true})).leaf = true entry({"admin", "services", "travelmate", "wifidelete"}, cbi("travelmate/wifi_delete", {hideresetbtn=true, hidesavebtn=true})).leaf = true + entry({"admin", "services", "travelmate", "wifiorder"}, cbi("travelmate/wifi_order", {hideresetbtn=true, hidesavebtn=true})).leaf = true end function logread() 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 new file mode 100644 index 000000000..573484103 --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua @@ -0,0 +1,22 @@ +-- 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") + +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) + 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 ee58f52e1..bdb265f19 100644 --- a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm @@ -24,10 +24,12 @@ This is free software, licensed under the Apache License, Version 2.0 <%:Uplink Interface%> <%:SSID%> <%:Encryption%> - <%:Disabled%> + <%:Disabled%> <% - uci:foreach("wireless", "wifi-iface", function(s) + 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 "" @@ -41,14 +43,18 @@ This is free software, licensed under the Apache License, Version 2.0 end if iface == trmiface then %> - + <%=device%> <%=mode%> <%=iface%> <%=ssid%> <%=encryption%> <%=disabled%> - + + + + + 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 44606da60..2ce45c63c 100644 --- a/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm @@ -47,7 +47,7 @@ This is free software, licensed under the Apache License, Version 2.0 <%:Encryption%> <%:Signal strength%> - <% for i, net in ipairs(iw.scanlist) do%> + <% for i, net in ipairs(iw.scanlist or { }) do%> <%=net.ssid and utl.pcdata(net.ssid) or "%s" % translate("hidden")%> -- 2.11.0