luci-app-travelmate: sync with 1.4.10
* wifi add/edit: add a select box to reference an external script
for automated captive portal logins
* fix a visual issue with material theme
Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit 4e75e3710c
)
This commit is contained in:
parent
5d2a0f17e1
commit
a0c376779d
4 changed files with 61 additions and 14 deletions
|
@ -1,9 +1,11 @@
|
|||
-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
|
||||
-- Copyright 2017-2019 Dirk Brenken (dev@brenken.org)
|
||||
-- This is free software, licensed under the Apache License, Version 2.0
|
||||
|
||||
local fs = require("nixio.fs")
|
||||
local uci = require("luci.model.uci").cursor()
|
||||
local http = require("luci.http")
|
||||
local util = require("luci.util")
|
||||
local scripts = util.split(util.trim(util.exec("ls /etc/travelmate/*.login 2>/dev/null")), "\n", nil, true) or {}
|
||||
local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
|
||||
local encr_psk = {"psk", "psk2", "psk-mixed"}
|
||||
local encr_wpa = {"wpa", "wpa2", "wpa-mixed"}
|
||||
|
@ -135,6 +137,17 @@ elseif (tonumber(m.hidden.wpa_version) or 0) > 0 then
|
|||
end
|
||||
end
|
||||
|
||||
local login_section = (m.hidden.ssid or "") .. (m.hidden.bssid or "")
|
||||
login_section = login_section.lower(login_section:gsub("[^%w_]", "_"))
|
||||
local cmd = uci:get("travelmate", login_section, "command")
|
||||
cmd_list = m:field(ListValue, "cmdlist", translate("Auto Login Script"),
|
||||
translate("External script reference which will be called for automated captive portal logins."))
|
||||
cmd_list:value("none")
|
||||
for _, z in ipairs(scripts) do
|
||||
cmd_list:value(z)
|
||||
end
|
||||
cmd_list.default = cmd or "none"
|
||||
|
||||
function wssid.write(self, section, value)
|
||||
newsection = uci:section("wireless", "wifi-iface", nil, {
|
||||
mode = "sta",
|
||||
|
@ -174,6 +187,16 @@ function wssid.write(self, section, value)
|
|||
else
|
||||
uci:set("wireless", newsection, "encryption", "none")
|
||||
end
|
||||
local login_section = (wssid:formvalue(section) or "") .. (bssid:formvalue(section) or "")
|
||||
login_section = login_section.lower(login_section:gsub("[^%w_]", "_"))
|
||||
if not uci:get("travelmate", login_section) and cmd_list:formvalue(section) ~= "none" then
|
||||
uci:set("travelmate", login_section, "login")
|
||||
end
|
||||
if uci:get("travelmate", login_section) then
|
||||
uci:set("travelmate", login_section, "command", cmd_list:formvalue(section))
|
||||
uci:save("travelmate")
|
||||
uci:commit("travelmate")
|
||||
end
|
||||
uci:save("wireless")
|
||||
uci:commit("wireless")
|
||||
luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
-- Copyright 2017-2019 Dirk Brenken (dev@brenken.org)
|
||||
-- This is free software, licensed under the Apache License, Version 2.0
|
||||
|
||||
local fs = require("nixio.fs")
|
||||
local uci = require("luci.model.uci").cursor()
|
||||
local http = require("luci.http")
|
||||
local fs = require("nixio.fs")
|
||||
local uci = require("luci.model.uci").cursor()
|
||||
local http = require("luci.http")
|
||||
local util = require("luci.util")
|
||||
local scripts = util.split(util.trim(util.exec("ls /etc/travelmate/*.login 2>/dev/null")), "\n", nil, true) or {}
|
||||
|
||||
m = SimpleForm("edit", translate("Edit Wireless Uplink Configuration"))
|
||||
m.submit = translate("Save")
|
||||
|
@ -19,6 +21,7 @@ m.hidden = {
|
|||
}
|
||||
|
||||
local s = uci:get_all("wireless", m.hidden.cfg)
|
||||
|
||||
if s ~= nil then
|
||||
wssid = m:field(Value, "ssid", translate("SSID"))
|
||||
wssid.datatype = "rangelength(1,32)"
|
||||
|
@ -126,6 +129,17 @@ if s ~= nil then
|
|||
wkey.password = true
|
||||
wkey.default = s.key or s.password
|
||||
end
|
||||
|
||||
local login_section = (s.ssid or "") .. (s.bssid or "")
|
||||
login_section = login_section.lower(login_section:gsub("[^%w_]", "_"))
|
||||
local cmd = uci:get("travelmate", login_section, "command")
|
||||
cmd_list = m:field(ListValue, "cmdlist", translate("Auto Login Script"),
|
||||
translate("External script reference which will be called for automated captive portal logins."))
|
||||
cmd_list:value("none")
|
||||
for _, z in ipairs(scripts) do
|
||||
cmd_list:value(z)
|
||||
end
|
||||
cmd_list.default = cmd or "none"
|
||||
else
|
||||
m.on_cancel()
|
||||
end
|
||||
|
@ -160,6 +174,16 @@ function wssid.write(self, section, value)
|
|||
uci:set("wireless", m.hidden.cfg, "priv_key_pwd", privkeypwd:formvalue(section) or "")
|
||||
end
|
||||
end
|
||||
local login_section = (wssid:formvalue(section) or "") .. (bssid:formvalue(section) or "")
|
||||
login_section = login_section.lower(login_section:gsub("[^%w_]", "_"))
|
||||
if not uci:get("travelmate", login_section) and cmd_list:formvalue(section) ~= "none" then
|
||||
uci:set("travelmate", login_section, "login")
|
||||
end
|
||||
if uci:get("travelmate", login_section) then
|
||||
uci:set("travelmate", login_section, "command", cmd_list:formvalue(section))
|
||||
uci:save("travelmate")
|
||||
uci:commit("travelmate")
|
||||
end
|
||||
uci:save("wireless")
|
||||
uci:commit("wireless")
|
||||
luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
|
||||
|
|
|
@ -34,7 +34,7 @@ This is free software, licensed under the Apache License, Version 2.0
|
|||
if (view)
|
||||
{
|
||||
view.setAttribute("name", "station_nok");
|
||||
view.setAttribute("style", "color: #a22; font-weight: bold");
|
||||
view.setAttribute("style", "text-align: left !important; color: #a22; font-weight: bold");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ This is free software, licensed under the Apache License, Version 2.0
|
|||
view = document.getElementById(search);
|
||||
if (view)
|
||||
{
|
||||
view.setAttribute("style", "color: #37c; font-weight: bold");
|
||||
view.setAttribute("style", "text-align: left !important; color: #37c; font-weight: bold");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -122,10 +122,10 @@ This is free software, licensed under the Apache License, Version 2.0
|
|||
local encr = s.encryption or "-"
|
||||
-%>
|
||||
<div class="tr cbi-section-table-row cbi-rowstyle-1" name="station_ok" id="1_<%=device%>/<%=ssid%>/<%=bssid%>">
|
||||
<div class="td left" name="station_ok" id="2_<%=device%>/<%=ssid%>/<%=bssid%>"><%=device%></div>
|
||||
<div class="td left" name="station_ok" id="3_<%=device%>/<%=ssid%>/<%=bssid%>"><%=ssid%></div>
|
||||
<div class="td left" name="station_ok" id="4_<%=device%>/<%=ssid%>/<%=bssid%>"><%=bssid%></div>
|
||||
<div class="td left" name="station_ok" id="5_<%=device%>/<%=ssid%>/<%=bssid%>"><%=encr%></div>
|
||||
<div class="td left" style="text-align: left !important" name="station_ok" id="2_<%=device%>/<%=ssid%>/<%=bssid%>"><%=device%></div>
|
||||
<div class="td left" style="text-align: left !important" name="station_ok" id="3_<%=device%>/<%=ssid%>/<%=bssid%>"><%=ssid%></div>
|
||||
<div class="td left" style="text-align: left !important" name="station_ok" id="4_<%=device%>/<%=ssid%>/<%=bssid%>"><%=bssid%></div>
|
||||
<div class="td left" style="text-align: left !important" name="station_ok" id="5_<%=device%>/<%=ssid%>/<%=bssid%>"><%=encr%></div>
|
||||
<div class="td middle cbi-section-actions">
|
||||
<div>
|
||||
<input class="cbi-button cbi-button-up" type="button" value="<%:Up%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&dir=up'" alt="<%:Move up%>" title="<%:Move up%>" />
|
||||
|
|
|
@ -52,16 +52,16 @@ This is free software, licensed under the Apache License, Version 2.0
|
|||
</div>
|
||||
<%- for i, net in ipairs(iw.scanlist or { }) do -%>
|
||||
<div class="tr cbi-section-table-row cbi-rowstyle-1">
|
||||
<div class="td left">
|
||||
<div class="td left" style="text-align: left !important">
|
||||
<%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%>
|
||||
</div>
|
||||
<div class="td left">
|
||||
<div class="td left" style="text-align: left !important">
|
||||
<%=net.bssid and utl.pcdata(net.bssid)%>
|
||||
</div>
|
||||
<div class="td left">
|
||||
<div class="td left" style="text-align: left !important">
|
||||
<%=format_wifi_encryption(net.encryption)%>
|
||||
</div>
|
||||
<div class="td left">
|
||||
<div class="td left" style="text-align: left !important">
|
||||
<%=percent_wifi_signal(net)%> %
|
||||
</div>
|
||||
<div class="td cbi-section-actions">
|
||||
|
|
Loading…
Reference in a new issue