summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-travelmate/luasrc/view
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-travelmate/luasrc/view')
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/config_css.htm13
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm20
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm10
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm80
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm96
5 files changed, 219 insertions, 0 deletions
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/config_css.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/config_css.htm
new file mode 100644
index 000000000..2233a15e3
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/config_css.htm
@@ -0,0 +1,13 @@
+<style type="text/css">
+ textarea
+ {
+ border: 1px solid #cccccc;
+ padding: 5px;
+ font-size: 12px;
+ font-family: monospace;
+ resize: none;
+ white-space: pre;
+ overflow-wrap: normal;
+ overflow-x: scroll;
+ }
+</style>
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm
new file mode 100644
index 000000000..6cbeaffde
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm
@@ -0,0 +1,20 @@
+<%#
+Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%+header%>
+
+<div class="cbi-map">
+ <fieldset class="cbi-section">
+ <div class="cbi-section-descr"><%:This form shows the syslog output, pre-filtered for travelmate related messages only.%></div>
+ <textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
+ </fieldset>
+</div>
+
+<script type="text/javascript">
+ var textarea = document.getElementById('logread_id');
+ textarea.scrollTop = textarea.scrollHeight;
+</script>
+
+<%+footer%>
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm
new file mode 100644
index 000000000..e7827b5c3
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm
@@ -0,0 +1,10 @@
+<%#
+Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%+cbi/valueheader%>
+
+<input name="runtime" id="runtime" type="text" class="cbi-input-text" style="outline:none;border:none;box-shadow:none;background:transparent;color:#0069d6;font-weight:bold;line-height:30px;height:30px;" value="<%=self:cfgvalue(section)%>" disabled="disabled" />
+
+<%+cbi/valuefooter%>
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
new file mode 100644
index 000000000..ae1ea797a
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
@@ -0,0 +1,80 @@
+<%#
+Copyright 2017-2018 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()
+ local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
+-%>
+
+<%+header%>
+
+<div class="cbi-map">
+<h2 name="content"><%:Wireless Stations%></h2>
+<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"><%:SSID%></th>
+ <th class="cbi-section-table-cell" style="text-align:left"><%:BSSID%></th>
+ <th class="cbi-section-table-cell" style="text-align:left"><%:Encryption%></th>
+ <th class="cbi-section-table-cell" style="text-align:center" colspan="2"><%:Actions%></th>
+ </tr>
+<%
+ uci:foreach("wireless", "wifi-iface", function(s)
+ local iface = s.network or ""
+ if iface == trmiface then
+ local section = s['.name'] or ""
+ local device = s.device or "-"
+ local ssid = s.ssid or "-"
+ local bssid = s.bssid or "-"
+ local encryption = s.encryption or "-"
+ local disabled = s.disabled or ""
+ local style = "text-align:left;color:#000000"
+ if disabled == "0" then
+ style = "text-align:left;color:#0069d6;font-weight:bold"
+ end
+%>
+ <tr class="cbi-section-table-row cbi-rowstyle-1" style="<%=style%>">
+ <td style="<%=style%>"><%=device%></td>
+ <td style="<%=style%>"><%=ssid%></td>
+ <td style="<%=style%>"><%=bssid%></td>
+ <td style="<%=style%>"><%=encryption%></td>
+ <td class="cbi-value-field" style="width:80px">
+ <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_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='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
+ </td>
+ <td class="cbi-value-field" style="width:150px">
+ <input type="button" class="cbi-button cbi-button-edit" onclick="location.href='<%=luci.dispatcher.build_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='<%=luci.dispatcher.build_url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" value="<%:Delete%>"/>
+ </td>
+ </tr>
+<%
+ end
+ end)
+%>
+ </table>
+</fieldset>
+<div class="cbi-page-actions right">
+<%
+ uci:foreach("wireless", "wifi-device", function(s)
+ local device = s[".name"]
+%>
+ <form class="inline" action="<%=luci.dispatcher.build_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" 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
new file mode 100644
index 000000000..a8f63a17e
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm
@@ -0,0 +1,96 @@
+<%#
+Copyright 2017 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%-
+ local sys = require("luci.sys")
+ local utl = require("luci.util")
+ local dev = luci.http.formvalue("device")
+ local iw = luci.sys.wifi.getiwinfo(dev)
+ local wpa_label = {translate("WPA"), translate("WPA2"), translate("WPA/WPA2")}
+
+ if not iw then
+ luci.http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
+ end
+
+ function format_wifi_encryption(info)
+ if info.wep == true then
+ return translate("WEP")
+ elseif info.wpa > 0 then
+ return "%s (%s/%s)" %{wpa_label[info.wpa], table.concat(info.auth_suites), table.concat(info.group_ciphers)}
+ elseif info.enabled then
+ return translate("Unknown")
+ else
+ return translate("Open")
+ end
+ end
+
+ function percent_wifi_signal(info)
+ local qc = info.quality or 0
+ local qm = info.quality_max or 0
+ if info.bssid and qc > 0 and qm > 0 then
+ return math.floor((100 / qm) * qc)
+ else
+ return 0
+ end
+ end
+-%>
+
+<%+header%>
+
+<div class="cbi-map">
+<h2 name="content"><%:Wireless Scan%></h2>
+ <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"><%:Uplink SSID%></th>
+ <th class="cbi-section-table-cell" style="text-align:left"><%:Uplink BSSID%></th>
+ <th class="cbi-section-table-cell" style="text-align:left"><%:Encryption%></th>
+ <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-1">
+ <td class="cbi-value-field" style="text-align:left">
+ <%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%>
+ </td>
+ <td class="cbi-value-field" style="text-align:left">
+ <%=net.bssid and utl.pcdata(net.bssid)%>
+ </td>
+ <td class="cbi-value-field" style="text-align:left">
+ <%=format_wifi_encryption(net.encryption)%>
+ </td>
+ <td class="cbi-value-field" style="text-align:left">
+ <%=percent_wifi_signal(net)%> %
+ </td>
+ <td class="cbi-value-field" style="width:100px;text-align:right">
+ <form class="inline" action="<%=luci.dispatcher.build_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="bssid" value="<%=utl.pcdata(net.bssid)%>"/>
+ <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%>"/><% end %>
+ <% end %>
+ <input class="cbi-button cbi-button-apply" type="submit" value="<%:Add Uplink%>"/>
+ </form>
+ </td>
+ </tr>
+ <% end %>
+ </table>
+ </fieldset>
+<div class="cbi-page-actions right">
+ <form class="inline" action="<%=luci.dispatcher.build_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%>"/>
+ </form>
+ <form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/stations')%>" method="post">
+ <input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>"/>
+ </form>
+</div>
+</div>
+
+<%+footer%>