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