luci-app-ocserv: update user status template
[project/luci.git] / applications / luci-app-ocserv / luasrc / view / ocserv_status.htm
1 <script type="text/javascript">//<![CDATA[
2
3 function ocserv_disconnect(idx) {
4 (new XHR()).post('<%=url('admin/services/ocserv/disconnect')%>/' + idx, { token: '<%=token%>' },
5 function(x)
6 {
7 var tb = document.getElementById('ocserv_status_table');
8 if (tb && (idx + 1 < tb.childNodes.length))
9 tb.removeChild(tb.childNodes[idx + 1]);
10 }
11 );
12 }
13
14 XHR.poll(5, '<%=url('admin/services/ocserv/status')%>', null,
15 function(x, st)
16 {
17 var tb = document.getElementById('ocserv_status_table');
18 if (st && tb)
19 {
20 var rows = [];
21
22 for (var i = 0; i < st.length; i++)
23 {
24 rows.push([
25 st[i].user,
26 st[i].group,
27 st[i].vpn_ip,
28 st[i].ip,
29 st[i].device,
30 st[i].time,
31 st[i].cipher,
32 st[i].status,
33 E('input', {
34 type: 'button',
35 class: 'cbi-button cbi-button-remove',
36 onclick: 'ocserv_disconnect(%d)'.format(st[i].id)
37 })
38 ]);
39 }
40
41 cbi_update_table(tb, rows, '<em><%:There are no active users.%></em>');
42 }
43 }
44 );
45 //]]></script>
46
47 <fieldset class="cbi-section">
48 <legend><%:Active OpenConnect Users%></legend>
49 <div class="table" id="ocserv_status_table">
50 <div class="tr table-titles">
51 <div class="th"><%:User%></div>
52 <div class="th"><%:Group%></div>
53 <div class="th"><%:IP Address%></div>
54 <div class="th"><%:VPN IP Address%></div>
55 <div class="th"><%:Device%></div>
56 <div class="th"><%:Time%></div>
57 <div class="th"><%:Cipher%></div>
58 <div class="th"><%:Status%></div>
59 <div class="th">&#160;</div>
60 </div>
61 <div class="tr placeholder">
62 <div class="td"><em><br /><%:Collecting data...%></em></div>
63 </div>
64 </div>
65 </fieldset>
66