RT#39115: View SNMP info on svc_broadband service [got rid of dialog, displays inline]
authorJonathan Prykop <jonathan@freeside.biz>
Wed, 16 Dec 2015 02:31:53 +0000 (20:31 -0600)
committerJonathan Prykop <jonathan@freeside.biz>
Wed, 16 Dec 2015 02:31:53 +0000 (20:31 -0600)
FS/FS/part_export/broadband_snmp_get.pm
httemplate/elements/broadband_snmp_get-dialog.html [deleted file]
httemplate/elements/broadband_snmp_get.html [new file with mode: 0644]
httemplate/view/svc_broadband.cgi

index faa51ed..fafe91a 100644 (file)
@@ -30,8 +30,7 @@ tie my %options, 'Tie::IxHash',
   'options' => \%options,
   'no_machine' => 1,
   'notes'   => <<'END',
-Use this export to configure the community and object ids for displaying realtime 
-SNMP data from the service IP address when viewing a provisioned service.  Timeout is
+Display broadband service status information via SNMP.  Timeout is
 per object, and should be small enough for realtime use.  This export takes no action 
 during provisioning itself;  it is expected that snmp will be separately
 configured on the service machine.
diff --git a/httemplate/elements/broadband_snmp_get-dialog.html b/httemplate/elements/broadband_snmp_get-dialog.html
deleted file mode 100644 (file)
index 61bb9c7..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-<%doc>
-Adds a link to display 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-dialog.html', svc => $svc &>
-
-</%doc>
-% if (@snmp) {
-<& '/elements/xmlhttp.html',
-   'url'  => $fsurl.'misc/xmlhttp-broadband_snmp_get.cgi',
-   'subs' => [ 'broadband_snmp_get_request' ]
- &>
-<SCRIPT>
-function broadband_snmp_get (svcnum) {
-  var jqd = $( '#broadband_snmp_get_dialog' );
-  if (!jqd.dialog( 'isOpen' )) {
-    jqd.dialog( 'open' );
-  }
-  document.getElementById('broadband_snmp_get_dialog').innerHTML = '<B>Loading...</B>';
-  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 row = document.createElement('tr');
-          var obj = objects[i];
-          if (obj.error) {
-            var cell = document.createElement('td');
-            cell.colSpan = '2';
-            cell.innerHTML = obj['error'];
-            row.appendChild(cell);
-          } else {
-              var cell = document.createElement('td');
-              cell.innerHTML = obj['label'];
-              row.appendChild(cell);
-              cell = document.createElement('td');
-              cell.innerHTML = obj['value'];
-              row.appendChild(cell);
-          }
-          table.appendChild(row);
-        }
-        var dialog = document.getElementById('broadband_snmp_get_dialog');
-        dialog.innerHTML = '';
-        dialog.appendChild(table);
-      }  // if objects.length
-    }  // function
-  ); // broadband_snmp_get_request
-} // broadband_snmp_get
-</SCRIPT>
-<SPAN ID="broadband_snmp_get_dialog"></SPAN>
-<SPAN ID="broadband_snmp_get_link">
-<A HREF="javascript: void(0)" onclick="broadband_snmp_get('<% $svcnum %>')">(snmp)</A>
-</SPAN>
-<SCRIPT>
-$( '#broadband_snmp_get_dialog' ).dialog({
-  position: { my: "left top", at: "left top", of: "#broadband_snmp_get_link" },
-  autoOpen: false,
-  title: 'SNMP',
-});
-</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>
diff --git a/httemplate/elements/broadband_snmp_get.html b/httemplate/elements/broadband_snmp_get.html
new file mode 100644 (file)
index 0000000..d4cc4e4
--- /dev/null
@@ -0,0 +1,56 @@
+<%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 row = document.createElement('tr');
+          var obj = objects[i];
+          if (obj.error) {
+            var cell = document.createElement('td');
+            cell.colSpan = '2';
+            cell.innerHTML = obj['error'];
+            row.appendChild(cell);
+          } else {
+              var cell = document.createElement('td');
+              cell.innerHTML = obj['label'];
+              row.appendChild(cell);
+              cell = document.createElement('td');
+              cell.innerHTML = obj['value'];
+              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>
index bc272e8..0517c30 100644 (file)
@@ -72,7 +72,6 @@ sub ip_addr {
   my $out = $ip_addr;
   $out .= ' (' . include('/elements/popup_link-ping.html', ip => $ip_addr) . ')'
     if $ip_addr;
-  $out .= include('/elements/broadband_snmp_get-dialog.html', svc => $svc);
   if ($svc->cust_svc->part_svc->part_export('cacti')) {
     $out .= ' (<A HREF="'
          .  popurl(2)
@@ -84,6 +83,7 @@ sub ip_addr {
     $out .= '<br>Netmask: ' . $addr_block->NetAddr->mask .
             '<br>Gateway: ' . $addr_block->ip_gateway;
   }
+  $out .= include('/elements/broadband_snmp_get.html', svc => $svc);
   $out;
 }