blob: 213bc44600cc0efa00a96dd0456452d27e52daff (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<%doc>
Adds a table to display dynamically loaded snmp statistics based on broadband_snmp_get
export config. Performs necessary checks such that, if no such exports are configured
for the passed service, returns blank space (ie may be safely invoked even if no exports
are configured.)
<& '/elements/broadband_snmp_get.html', svc => $svc &>
</%doc>
% if (@snmp) {
<& '/elements/xmlhttp.html',
'url' => $fsurl.'misc/xmlhttp-broadband_snmp_get.cgi',
'subs' => [ 'broadband_snmp_get_request' ]
&>
<DIV ID="broadband_snmp_get"></DIV>
<SCRIPT>
function broadband_snmp_get (svcnum) {
document.getElementById('broadband_snmp_get').innerHTML = 'Loading SNMP...';
broadband_snmp_get_request('svcnum',svcnum,
function (result) {
var objects = JSON.parse(result) || [];
if (objects.length) {
var table = document.createElement('table');
for (i = 0; i < objects.length; i++) {
var obj = objects[i];
if (obj.error) {
var row = document.createElement('tr');
var cell = document.createElement('td');
cell.colSpan = '2';
cell.innerHTML = obj['error'];
row.appendChild(cell);
table.appendChild(row);
} else {
for (j = 0; j < obj['values'].length; j++) {
var row = document.createElement('tr');
var value = obj['values'][j];
var label = (obj['values'].length > 1) ? (value[0] + '.' + value[1]) : obj['label'];
var cell = document.createElement('td');
cell.innerHTML = label;
row.appendChild(cell);
cell = document.createElement('td');
cell.innerHTML = value[2];
cell.style.paddingLeft = '3em';
row.appendChild(cell);
table.appendChild(row);
}
}
}
var resultblock = document.getElementById('broadband_snmp_get');
resultblock.innerHTML = '';
resultblock.appendChild(table);
} // if objects.length
} // function
); // broadband_snmp_get_request
} // broadband_snmp_get
broadband_snmp_get('<% $svcnum %>');
</SCRIPT>
% } #if @snmp
<%init>
my(%opt) = @_;
my @snmp = $opt{'svc'}->cust_svc->part_svc->part_export('broadband_snmp_get');
my $svcnum = $opt{'svc'}->svcnum;
</%init>
|