summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-mwan3/luasrc/view/mwan
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-mwan3/luasrc/view/mwan')
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm75
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm39
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm90
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm20
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm39
5 files changed, 263 insertions, 0 deletions
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm b/applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm
new file mode 100644
index 0000000000..49d120c1ae
--- /dev/null
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm
@@ -0,0 +1,75 @@
+<%#
+ Copyright 2014 Aedan Renner <chipdankly@gmail.com>
+ Copyright 2018 Florian Eckert <fe@dev.tdt.de>
+ Licensed to the public under the GNU General Public License v2.
+-%>
+
+<script type="text/javascript">//<![CDATA[
+XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "interface_status")%>', null,
+ function(x, status)
+ {
+ var statusDiv = document.getElementById('mwan_status_text');
+ if (status.interfaces)
+ {
+ var statusview = '';
+ for ( var iface in status.interfaces)
+ {
+ var state = '';
+ var css = ''
+ switch (status.interfaces[iface].status)
+ {
+ case 'online':
+ state = '<%:Online%>';
+ css = 'success';
+ break;
+ case 'offline':
+ state = '<%:Offline%>';
+ css = 'danger';
+ break;
+ default:
+ state = '<%:Disabled%>';
+ css = 'warning';
+ break;
+ }
+ statusview += String.format(
+ '<div class="alert-message %s">',
+ css
+ );
+ statusview += String.format(
+ '<div><strong>Interface: </strong>%s</div>',
+ iface
+ );
+ statusview += String.format(
+ '<div><strong>Status: </strong>%s</div>',
+ state
+ );
+ statusview += '</div>'
+ }
+ statusDiv.innerHTML = statusview;
+ }
+ else
+ {
+ statusDiv.innerHTML = '<strong><%:No MWAN interfaces found%></strong>';
+ }
+ }
+ );
+//]]></script>
+
+<style type="text/css">
+ #mwan_status_text > div {
+ display: inline-block;
+ margin: 1rem;
+ padding: 1rem;
+ width: 10rem;
+ float: left;
+ line-height: 125%;
+ }
+</style>
+
+<fieldset id="interface_field" class="cbi-section">
+ <legend><%:MWAN Interfaces%></legend>
+ <div id="mwan_status_text">
+ <img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
+ <%:Collecting data...%>
+ </div>
+</fieldset>
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm b/applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm
new file mode 100644
index 0000000000..12700c4a36
--- /dev/null
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm
@@ -0,0 +1,39 @@
+<%#
+ Copyright 2014 Aedan Renner <chipdankly@gmail.com>
+ Copyright 2018 Florian Eckert <fe@dev.tdt.de>
+ Licensed to the public under the GNU General Public License v2.
+-%>
+
+<%+header%>
+
+<ul class="cbi-tabmenu">
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/overview")%>"><%:Interface%></a></li>
+ <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/detail")%>"><%:Detail%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/diagnostics")%>"><%:Diagnostics%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/troubleshooting")%>"><%:Troubleshooting%></a></li>
+</ul>
+
+<script type="text/javascript">//<![CDATA[
+ XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "detailed_status")%>', null,
+ function(x)
+ {
+ var output = document.getElementById('diag-rc-output');
+ output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
+ }
+ );
+//]]></script>
+
+<div class="cbi-map">
+ <h2 name="content"><%:MWAN Status - Detail%></h2>
+ <%if not require("luci.sys").init.enabled("mwan3") then%>
+ <div><strong><%:INFO: MWAN not running%></strong></div>
+ <%end%>
+ <fieldset class="cbi-section">
+ <span id="diag-rc-output">
+ <img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align: middle;" />
+ <%:Collecting data...%>
+ </span>
+ </fieldset>
+</div>
+
+<%+footer%>
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm b/applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm
new file mode 100644
index 0000000000..454adcc1cd
--- /dev/null
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm
@@ -0,0 +1,90 @@
+<%#
+ Copyright 2014 Aedan Renner <chipdankly@gmail.com>
+ Copyright 2018 Florian Eckert <fe@dev.tdt.de>
+ Licensed to the public under the GNU General Public License v2.
+-%>
+
+<%+header%>
+
+<ul class="cbi-tabmenu">
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/overview")%>"><%:Interface%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/detail")%>"><%:Detail%></a></li>
+ <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/diagnostics")%>"><%:Diagnostics%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/troubleshooting")%>"><%:Troubleshooting%></a></li>
+</ul>
+
+<%
+ local uci = require "luci.model.uci"
+
+ local iface = {}
+
+ uci.cursor():foreach("mwan3", "interface",
+ function (section)
+ table.insert(iface, section[".name"])
+ end
+ )
+%>
+
+<script type="text/javascript">//<![CDATA[
+ var stxhr = new XHR();
+
+ function update_status(iface, task)
+ {
+ var output = document.getElementById('diag-rc-output');
+
+ output.innerHTML =
+ '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align: middle;" />' +
+ "<%:Waiting for command to complete...%>"
+ ;
+
+ output.parentNode.style.display = 'block';
+ output.style.display = 'inline';
+
+ stxhr.post('<%=url('admin/status/mwan')%>/diagnostics_display' + '/' + iface + '/' + task, { token: '<%=token%>' },
+ function(x)
+ {
+ output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
+ }
+ );
+ }
+//]]></script>
+
+<form method="post" action="<%=url('admin/network/diagnostics')%>">
+ <div class="cbi-map">
+ <h2 name="content"><%:MWAN Status - Diagnostics%></h2>
+ <%if not require("luci.sys").init.enabled("mwan3") then%>
+ <div><strong><%:INFO: MWAN not running%></strong></div>
+ <%end%>
+ <fieldset class="cbi-section">
+ <br />
+
+ <div style="width:30%; float:left">
+ <label class="cbi-value-title"><%:Interface%></label>
+ <select name="iface" style="width:auto">
+ <% for _, z in ipairs(iface) do -%><option value="<%=z%>"><%=z%></option><%- end %>
+ </select>
+ </div>
+
+ <div style="width:30%; float:left">
+ <label class="cbi-value-title"><%:Task%></label>
+ <select name="task" style="width:auto">
+ <option value="ping_gateway"><%:Ping default gateway%></option>
+ <option value="ping_trackips"><%:Ping tracking IP%></option>
+ <option value="check_rules"><%:Check IP rules%></option>
+ <option value="check_routes"><%:Check routing table%></option>
+ <option value="hotplug_ifup"><%:Hotplug ifup%></option>
+ <option value="hotplug_ifdown"><%:Hotplug ifdown%></option>
+ </select>
+ </div>
+
+ <div style="width:30%; float:left">
+ <input type="button" value="<%:Execute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.iface.value, this.form.task.value)"/>
+ </div>
+ </fieldset>
+ </div>
+ <fieldset class="cbi-section" style="display:none">
+ <span id="diag-rc-output"></span>
+ </fieldset>
+</form>
+
+<%+footer%>
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm b/applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm
new file mode 100644
index 0000000000..962cde521d
--- /dev/null
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm
@@ -0,0 +1,20 @@
+<%#
+ Copyright 2014 Aedan Renner <chipdankly@gmail.com>
+ Copyright 2018 Florian Eckert <fe@dev.tdt.de>
+ Licensed to the public under the GNU General Public License v2.
+-%>
+
+<%+header%>
+
+<ul class="cbi-tabmenu">
+ <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/overview")%>"><%:Interface%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/detail")%>"><%:Detail%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/diagnostics")%>"><%:Diagnostics%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/troubleshooting")%>"><%:Troubleshooting%></a></li>
+</ul>
+
+
+<div class="cbi-map">
+ <%+mwan/overview_status_interface%>
+</div>
+<%+footer%>
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm b/applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm
new file mode 100644
index 0000000000..a20516bd2a
--- /dev/null
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm
@@ -0,0 +1,39 @@
+<%#
+ Copyright 2014 Aedan Renner <chipdankly@gmail.com>
+ Copyright 2018 Florian Eckert <fe@dev.tdt.de>
+ Licensed to the public under the GNU General Public License v2.
+-%>
+
+<%+header%>
+
+<ul class="cbi-tabmenu">
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/overview")%>"><%:Interface%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/detail")%>"><%:Detail%></a></li>
+ <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/diagnostics")%>"><%:Diagnostics%></a></li>
+ <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/troubleshooting")%>"><%:Troubleshooting%></a></li>
+</ul>
+
+<script type="text/javascript">//<![CDATA[
+ XHR.poll(15, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "troubleshooting_display")%>', null,
+ function(x)
+ {
+ var output = document.getElementById('diag-rc-output');
+ output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
+ }
+ );
+//]]></script>
+
+<div class="cbi-map">
+ <h2 name="content"><%:MWAN Status - Troubleshooting%></h2>
+ <%if not require("luci.sys").init.enabled("mwan3") then%>
+ <div><strong><%:INFO: MWAN not running%></strong></div>
+ <%end%>
+ <fieldset class="cbi-section">
+ <span id="diag-rc-output">
+ <img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align: middle;" />
+ <%:Collecting data...%>
+ </span>
+ </fieldset>
+</div>
+
+<%+footer%>