summaryrefslogtreecommitdiff
path: root/httemplate/elements/broadband_snmp_get.html
blob: 1164504ee006e21672b950011fa2dd9a51b7ca6e (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
64
65
66
<%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 = '3';
            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 = obj['name'];
              row.appendChild(cell);
              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>