Merge pull request #1261 from dibdot/travelmate

luci-app-travelmate: enhancements & fixes
This commit is contained in:
Hannu Nyman 2017-07-30 19:48:32 +03:00 committed by GitHub
commit c22b44b3fb
3 changed files with 43 additions and 39 deletions

View file

@ -35,12 +35,8 @@ if uplink == "" then
o.default = "trm_wwan" o.default = "trm_wwan"
o.rmempty = false o.rmempty = false
function o.validate(self, value)
iface = value
return iface
end
function o.write(self, section, value) function o.write(self, section, value)
iface = o:formvalue(section)
uci:set("travelmate", section, "trm_iface", iface) uci:set("travelmate", section, "trm_iface", iface)
uci:save("travelmate") uci:save("travelmate")
uci:commit("travelmate") uci:commit("travelmate")
@ -77,12 +73,22 @@ o1.default = o1.disabled
o1.rmempty = false o1.rmempty = false
o2 = s:option(Flag, "trm_automatic", translate("Enable 'automatic' mode"), 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.default = o2.enabled
o2.rmempty = false 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"), 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.datatype = "and(uciname,rangelength(3,15))"
o3.default = "trm_wwan" o3.default = "trm_wwan"
o3.rmempty = false o3.rmempty = false

View file

@ -3,7 +3,6 @@ Copyright 2017 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0 This is free software, licensed under the Apache License, Version 2.0
-%> -%>
<%- <%-
local write = io.write local write = io.write
local uci = require "luci.model.uci".cursor() local uci = require "luci.model.uci".cursor()
@ -14,17 +13,17 @@ This is free software, licensed under the Apache License, Version 2.0
<div class="cbi-map"> <div class="cbi-map">
<h2 name="content"><%:Wireless Stations%></h2> <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">
<%:Provides an overview of all configured uplinks for the travelmate interface (%><%=trmiface%><%:). You can edit, delete or re-order existing uplinks or scan for a new one. The currently used uplink is emphasized in blue.%>
</div>
<fieldset class="cbi-section"> <fieldset class="cbi-section">
<table class="cbi-section-table" style="empty-cells:hide"> <table class="cbi-section-table" style="empty-cells:hide">
<tr class="cbi-section-table-titles"> <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"><%: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"><%:SSID%></th>
<th class="cbi-section-table-cell" style="text-align:left"><%:Encryption%></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> </tr>
<% <%
local pos = 1 local pos = 1
@ -39,24 +38,21 @@ This is free software, licensed under the Apache License, Version 2.0
local disabled = s.disabled or "" local disabled = s.disabled or ""
local style = "color:#000000" local style = "color:#000000"
if disabled == "0" then if disabled == "0" then
style = "color:#0069d6" style = "color:#0069d6;font-weight:bold"
end end
if iface == trmiface then if iface == trmiface then
%> %>
<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"><%=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"><%=ssid%></td>
<td style="text-align:left"><%=encryption%></td> <td style="text-align:left"><%=encryption%></td>
<td style="text-align:left"><%=disabled%></td> <td class="cbi-value-field" style="width:70px;text-align:right">
<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-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%>"/>
<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> </td>
<td class="cbi-value-field" style="width:180px;text-align:right"> <td class="cbi-value-field" style="width:150px;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-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" style="width:85px" onclick="location.href='<%=url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" value="<%:Delete%>"/> <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> </td>
</tr> </tr>
<% <%
@ -71,13 +67,14 @@ This is free software, licensed under the Apache License, Version 2.0
local device = s[".name"] local device = s[".name"]
%> %>
<form class="inline" action="<%=url('admin/services/travelmate/wifiscan')%>" method="post"> <form class="inline" action="<%=url('admin/services/travelmate/wifiscan')%>" method="post">
<input type="hidden" name="device" value="<%=device%>" /> <input type="hidden" name="device" value="<%=device%>"/>
<input type="hidden" name="token" value="<%=token%>" /> <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="submit" class="cbi-button cbi-button-find" title="<%:Find and join network on %><%=device%>" value="<%:Scan %><%=device%>"/>
</form> </form>
<% <%
end) end)
%> %>
</div> </div>
</div>
<%+footer%> <%+footer%>

View file

@ -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> <th class="cbi-section-table-cell" style="text-align:left" colspan="2"><%:Signal strength%></th>
</tr> </tr>
<% for i, net in ipairs(iw.scanlist or { }) do%> <% 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"> <td class="cbi-value-field" style="text-align:left">
<strong><%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%></strong> <strong><%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%></strong>
</td> </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"> <td class="cbi-value-field" style="text-align:left">
<%=percent_wifi_signal(net)%> % <%=percent_wifi_signal(net)%> %
</td> </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"> <form class="inline" action="<%=url('admin/services/travelmate/wifiadd')%>" method="post">
<input type="hidden" name="token" value="<%=token%>" /> <input type="hidden" name="token" value="<%=token%>"/>
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>" /> <input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/>
<input type="hidden" name="ssid" value="<%=utl.pcdata(net.ssid)%>" /> <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="wep" value="<%=net.encryption.wep and 1 or 0%>"/>
<% if net.encryption.wpa then %> <% if net.encryption.wpa then %>
<input type="hidden" name="wpa_version" value="<%=net.encryption.wpa%>" /> <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%>" /> <% for _, v in ipairs(net.encryption.auth_suites) do %><input type="hidden" name="wpa_suites" value="<%=v%>"/>
<% end; end %> <% 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> </form>
</td> </td>
</tr> </tr>
@ -77,13 +77,14 @@ This is free software, licensed under the Apache License, Version 2.0
</fieldset> </fieldset>
<div class="cbi-page-actions right"> <div class="cbi-page-actions right">
<form class="inline" action="<%=url('admin/services/travelmate/stations')%>" method="post"> <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>
<form class="inline" action="<%=url('admin/services/travelmate/wifiscan')%>" method="post"> <form class="inline" action="<%=url('admin/services/travelmate/wifiscan')%>" method="post">
<input type="hidden" name="token" value="<%=token%>" /> <input type="hidden" name="token" value="<%=token%>"/>
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>" /> <input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/>
<input class="cbi-button cbi-input-find" type="submit" value="<%:Repeat scan%>" /> <input class="cbi-button cbi-input-find" type="submit" value="<%:Repeat scan%>"/>
</form> </form>
</div> </div>
</div>
<%+footer%> <%+footer%>