luci-app-mwan3: move/rename hotplugscript tab
[project/luci.git] / applications / luci-app-mwan3 / luasrc / view / mwan / advanced_diagnostics.htm
1 <%+header%>
2
3 <ul class="cbi-tabmenu">
4         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/mwanconfig")%>"><%:MWAN Config%></a></li>
5         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/networkconfig")%>"><%:Network Config%></a></li>
6         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/wirelessconfig")%>"><%:Wireless Config%></a></li>
7         <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/diagnostics")%>"><%:Diagnostics%></a></li>
8         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/troubleshooting")%>"><%:Troubleshooting%></a></li>
9 </ul>
10
11 <%
12         local uci = require "luci.model.uci"
13
14         interfaceNames = ""
15         uci.cursor():foreach("mwan3", "interface",
16                 function (section)
17                         interfaceNames = interfaceNames .. section[".name"] .. " "
18                 end
19         )
20 %>
21
22 <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
23 <script type="text/javascript">//<![CDATA[
24         var stxhr = new XHR();
25
26         function update_status(tool, task, task_name)
27         {
28                 var iface = document.getElementById('mwaniface').value;
29                 var output = document.getElementById('diag_output');
30
31                 if (tool == "service")
32                         {
33                                 output.innerHTML =
34                                         '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="padding: 20px; vertical-align: middle;" /> ' +
35                                         String.format("<%:Waiting for MWAN to %s...%>", task_name)
36                                 ;
37                         }
38                         else
39                         {
40                                 output.innerHTML =
41                                         '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="padding: 20px; vertical-align: middle;" /> ' +
42                                         "<%:Waiting for diagnostic results...%>"
43                                 ;
44                         }
45
46                 output.parentNode.style.display = 'block';
47                 output.style.display = 'inline';
48
49                 stxhr.get('<%=luci.dispatcher.build_url("admin", "network", "mwan", "advanced")%>/diagnostics_display' + '/' + iface + '/' + tool + '/' + task, null,
50                         function(x, mArray)
51                         {
52                                 if (mArray.diagnostics)
53                                 {
54                                         output.innerHTML = String.format('<pre id="diag_output_css">%h</pre>', mArray.diagnostics[0]);
55                                 }
56                                 else
57                                 {
58                                         output.innerHTML = '<pre id="diag_output_css"><strong><%:No diagnostic results returned%></strong></pre>';
59                                 }
60                         }
61                 );
62         }
63 //]]></script>
64
65 <div id="mwan_diagnostics" class="cbi-map">
66         <fieldset id="diag_select" class="cbi-section">
67                 <legend><%:MWAN Interface Diagnostics%></legend>
68                 <select id="mwaniface">
69                         <% for z in interfaceNames:gmatch("[^ ]+") do -%><option value="<%=z%>"><%=z%></option><%- end %>
70                 </select>
71                 <div id="buttoncss">
72                         <input type="button" value="<%:Ping default gateway%>" class="cbi-button cbi-button-apply" onclick="update_status('ping', 'gateway', null)" />
73                         <input type="button" value="<%:Ping tracking IP%>" class="cbi-button cbi-button-apply" onclick="update_status('ping', 'track_ip', null)" />
74                         <input type="button" value="<%:Check IP rules%>" class="cbi-button cbi-button-apply" onclick="update_status('rulechk', null, null)" />
75                         <input type="button" value="<%:Check routing table%>" class="cbi-button cbi-button-apply" onclick="update_status('routechk', null, null)" />
76                         <input type="button" value="<%:Hotplug ifup%>" class="cbi-button cbi-button-apply" onclick="update_status('hotplug', 'ifup', null)" />
77                         <input type="button" value="<%:Hotplug ifdown%>" class="cbi-button cbi-button-apply" onclick="update_status('hotplug', 'ifdown', null)" />
78                 </div>
79         </fieldset>
80         <fieldset id="diag_select" class="cbi-section">
81                 <legend><%:MWAN Service Control%></legend>
82                 <div id="buttoncss">
83                         <input type="button" value="<%:Restart MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'restart', '<%:restart%>')" />
84                         <input type="button" value="<%:Stop MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'stop', '<%:stop%>')" />
85                         <input type="button" value="<%:Start MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'start', '<%:start%>')" />
86                 </div>
87         </fieldset>
88         <fieldset class="cbi-section" style="display:none">
89                 <legend><%:Diagnostic Results%></legend>
90                 <div id="diag_output"></div>
91         </fieldset>
92 </div>
93
94 <style type="text/css">
95   #mwaniface {
96         float: left;
97         margin: 8px 20px 0px 0px;
98   }
99   #buttoncss {
100         display: table;
101         float: left;
102         text-align: left;
103   }
104   .cbi-button {
105         margin: 8px 20px 0px 0px;
106         min-width: 153px;
107   }
108   #diag_output_css {
109         padding: 20px;
110         text-align: left;
111   }
112 </style>
113
114 <%+footer%>