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