summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-travelmate/luasrc
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-travelmate/luasrc')
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua22
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua12
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua1
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua5
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua37
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm59
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm27
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%>