From 49ff577b9fbb4b017f0652cdfe567b023d7ea4de Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Tue, 10 Apr 2018 09:18:29 -0400 Subject: [PATCH] RT#39115 - added a optional display name for oid --- FS/FS/part_export/broadband_snmp_get.pm | 7 ++++++- .../edit/elements/part_export/broadband_snmp_get.html | 13 +++++++++---- httemplate/elements/broadband_snmp_get.html | 5 ++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/FS/FS/part_export/broadband_snmp_get.pm b/FS/FS/part_export/broadband_snmp_get.pm index 1a8661286..35dcd3154 100644 --- a/FS/FS/part_export/broadband_snmp_get.pm +++ b/FS/FS/part_export/broadband_snmp_get.pm @@ -21,6 +21,7 @@ tie my %options, 'Tie::IxHash', 'snmp_community' => { 'label'=>'Community', 'default'=>'public' }, 'snmp_timeout' => { label=>'Timeout (seconds)', 'default'=>1 }, 'snmp_oid' => { label=>'Object ID', multiple=>1 }, + 'snmp_oid_name' => { label=>'Object Name', multiple=>1 }, ; %info = ( @@ -80,6 +81,7 @@ sub snmp_results { my $vers = $self->option('snmp_version'); my $time = ($self->option('snmp_timeout') || 1) * 1000000; my @oids = split("\n", $self->option('snmp_oid')); + my @oidnames = split("\n", $self->option('snmp_oid_name')); my %connect = ( 'DestHost' => $host, 'Community' => $comm, @@ -90,7 +92,9 @@ sub snmp_results { return { 'error' => 'Error creating SNMP session' } unless $snmp; return { 'error' => $snmp->{'ErrorStr'} } if $snmp->{'ErrorStr'}; my @out; - foreach my $oid (@oids) { + for (my $i=0; $i <= $#oids; $i++) { + my $oid = $oids[$i]; + my $oidname = $oidnames[$i]; $oid = $SNMP::MIB{$oid}->{'objectID'} if $SNMP::MIB{$oid}; my @values; if ($vers eq '1') { @@ -115,6 +119,7 @@ sub snmp_results { next; } my %result = map { $_ => $SNMP::MIB{$oid}{$_} } qw( objectID label ); + $result{'name'} = $oidname; # unbless @values, for ease of JSON encoding $result{'values'} = []; foreach my $value (@values) { diff --git a/httemplate/edit/elements/part_export/broadband_snmp_get.html b/httemplate/edit/elements/part_export/broadband_snmp_get.html index faf179acc..a426e617d 100644 --- a/httemplate/edit/elements/part_export/broadband_snmp_get.html +++ b/httemplate/edit/elements/part_export/broadband_snmp_get.html @@ -45,20 +45,23 @@ function receive_mib_get(obj, rownum) { - + + <& /elements/auto-table.html, template_row => 'broadband_snmp_get_template', - fieldorder => ['oid'], + fieldorder => ['oid_name','oid'], data => \@data, table => 'snmp', &> - + <& foot.html, %opt &> <%init> my %opt = @_; @@ -73,11 +76,13 @@ foreach my $field ( qw(snmp_version snmp_community snmp_timeout) ) { } my @oids = split("\n", $part_export->option('snmp_oid')); +my @oid_names = split("\n", $part_export->option('snmp_oid_name')); my @data; while (@oids) { my @thisrow = (shift(@oids)); - push @data, \@thisrow if grep length($_), @thisrow; + my $name = shift(@oid_names); + push @data, [$name, \@thisrow] if grep length($_), @thisrow; } my $popup_name = 'popup-'.time."-$$-".rand() * 2**32; diff --git a/httemplate/elements/broadband_snmp_get.html b/httemplate/elements/broadband_snmp_get.html index 213bc4460..1164504ee 100644 --- a/httemplate/elements/broadband_snmp_get.html +++ b/httemplate/elements/broadband_snmp_get.html @@ -26,7 +26,7 @@ function broadband_snmp_get (svcnum) { if (obj.error) { var row = document.createElement('tr'); var cell = document.createElement('td'); - cell.colSpan = '2'; + cell.colSpan = '3'; cell.innerHTML = obj['error']; row.appendChild(cell); table.appendChild(row); @@ -36,6 +36,9 @@ function broadband_snmp_get (svcnum) { 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'); -- 2.11.0
Object ID
Object NameObject ID
+ +