diff options
author | Johannes Rothe <mail@johannes-rothe.de> | 2019-09-19 23:28:39 +0200 |
---|---|---|
committer | Johannes Rothe <rothe@magazino.eu> | 2019-09-24 17:41:08 +0200 |
commit | 3d646bee41df28526dc59fb1646fb7fa0072a264 (patch) | |
tree | 0eb29ea94251bf5ac970dac42f5c606362cd4981 /applications | |
parent | 934fa275b23f93ca6fe4eac5db6a6a6ee3f9581c (diff) |
luci-app-travelmate: add support for optional args in auto-login script
This can be helpful for example in hotels where you need to
enter a new user/password combination every week.
Signed-off-by: Johannes Rothe <mail@johannes-rothe.de>
Diffstat (limited to 'applications')
-rw-r--r-- | applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua | 8 | ||||
-rw-r--r-- | applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua | 8 |
2 files changed, 14 insertions, 2 deletions
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 e8580daac7..c0c873d76c 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 @@ -140,13 +140,18 @@ end local login_section = (m.hidden.ssid or "") .. (m.hidden.bssid or "") login_section = login_section:gsub("[^%w_]", "_") local cmd = uci:get("travelmate", login_section, "command") +local cmd_args_default = uci:get("travelmate", login_section, "command_args") 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") +cmd_args = m:field(Value, "cmdargs", translate("Optional Arguments"), + translate("Space separated list of additional optional arguments passed to the Auto Login Script, i.e. username and password")) for _, z in ipairs(scripts) do cmd_list:value(z) + cmd_args:depends("cmdlist", z) end +cmd_list:value("none") cmd_list.default = cmd or "none" +cmd_args.default = cmd_args_default function wssid.write(self, section, value) newsection = uci:section("wireless", "wifi-iface", nil, { @@ -194,6 +199,7 @@ function wssid.write(self, section, value) end if uci:get("travelmate", login_section) then uci:set("travelmate", login_section, "command", cmd_list:formvalue(section)) + uci:set("travelmate", login_section, "command_args", cmd_args:formvalue(section)) uci:save("travelmate") uci:commit("travelmate") end 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 cd2fa69ae4..ab0b924549 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 @@ -133,13 +133,18 @@ if s ~= nil then local login_section = (s.ssid or "") .. (s.bssid or "") login_section = login_section:gsub("[^%w_]", "_") local cmd = uci:get("travelmate", login_section, "command") + local cmd_args_default = uci:get("travelmate", login_section, "command_args") 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") + cmd_args = m:field(Value, "cmdargs", translate("Optional Arguments"), + translate("Space separated list of additional optional arguments passed to the Auto Login Script, i.e. username and password")) for _, z in ipairs(scripts) do cmd_list:value(z) + cmd_args:depends("cmdlist", z) end + cmd_list:value("none") cmd_list.default = cmd or "none" + cmd_args.default = cmd_args_default else m.on_cancel() end @@ -181,6 +186,7 @@ function wssid.write(self, section, value) end if uci:get("travelmate", login_section) then uci:set("travelmate", login_section, "command", cmd_list:formvalue(section)) + uci:set("travelmate", login_section, "command_args", cmd_args:formvalue(section)) uci:save("travelmate") uci:commit("travelmate") end |