From d1aa325bc7e1ef13d3a899339a842e61c58f3163 Mon Sep 17 00:00:00 2001 From: "Eric A. Miller" Date: Sun, 16 Feb 2014 23:27:26 -0500 Subject: [PATCH] Eliminate an necessary database call in Module Inventory, Port SSID, and NetBIOS reports --- .../Netdisco/Web/Plugin/Report/ModuleInventory.pm | 6 ++++-- .../lib/App/Netdisco/Web/Plugin/Report/Netbios.pm | 14 +++++++------- .../lib/App/Netdisco/Web/Plugin/Report/PortSsid.pm | 5 +++-- .../share/views/ajax/report/moduleinventory.tt | 4 +--- .../share/views/ajax/report/moduleinventory_csv.tt | 4 +--- Netdisco/share/views/ajax/report/netbios.tt | 4 +--- Netdisco/share/views/ajax/report/netbios_csv.tt | 4 +--- Netdisco/share/views/ajax/report/portssid.tt | 4 +--- Netdisco/share/views/ajax/report/portssid_csv.tt | 4 +--- 9 files changed, 20 insertions(+), 29 deletions(-) diff --git a/Netdisco/lib/App/Netdisco/Web/Plugin/Report/ModuleInventory.pm b/Netdisco/lib/App/Netdisco/Web/Plugin/Report/ModuleInventory.pm index ce730ff8..4e955512 100644 --- a/Netdisco/lib/App/Netdisco/Web/Plugin/Report/ModuleInventory.pm +++ b/Netdisco/lib/App/Netdisco/Web/Plugin/Report/ModuleInventory.pm @@ -96,12 +96,14 @@ get '/ajax/content/report/moduleinventory' => require_login sub { return unless $rs->has_rows; if ( request->is_ajax ) { - template 'ajax/report/moduleinventory.tt', { results => $rs, }, + template 'ajax/report/moduleinventory.tt', + { results => $rs, opt => $has_opt }, { layout => undef }; } else { header( 'Content-Type' => 'text/comma-separated-values' ); - template 'ajax/report/moduleinventory_csv.tt', { results => $rs, }, + template 'ajax/report/moduleinventory_csv.tt', + { results => $rs, opt => $has_opt }, { layout => undef }; } }; diff --git a/Netdisco/lib/App/Netdisco/Web/Plugin/Report/Netbios.pm b/Netdisco/lib/App/Netdisco/Web/Plugin/Report/Netbios.pm index d731bc25..61df286c 100644 --- a/Netdisco/lib/App/Netdisco/Web/Plugin/Report/Netbios.pm +++ b/Netdisco/lib/App/Netdisco/Web/Plugin/Report/Netbios.pm @@ -42,11 +42,10 @@ get '/ajax/content/report/netbios' => require_login sub { if ( defined $domain ) { $domain = '' if $domain eq 'blank'; - $rs = $rs->search( { domain => $domain } )->order_by( - [ { -asc => 'domain' }, - { -desc => 'time_last' } - ] - )->hri; + $rs + = $rs->search( { domain => $domain } ) + ->order_by( [ { -asc => 'domain' }, { -desc => 'time_last' } ] ) + ->hri; } else { $rs = $rs->search( @@ -62,12 +61,13 @@ get '/ajax/content/report/netbios' => require_login sub { return unless $rs->has_rows; if ( request->is_ajax ) { - template 'ajax/report/netbios.tt', { results => $rs, }, + template 'ajax/report/netbios.tt', { results => $rs, opt => $domain }, { layout => undef }; } else { header( 'Content-Type' => 'text/comma-separated-values' ); - template 'ajax/report/netbios_csv.tt', { results => $rs, }, + template 'ajax/report/netbios_csv.tt', + { results => $rs, opt => $domain }, { layout => undef }; } }; diff --git a/Netdisco/lib/App/Netdisco/Web/Plugin/Report/PortSsid.pm b/Netdisco/lib/App/Netdisco/Web/Plugin/Report/PortSsid.pm index 3c1aed23..b5936329 100644 --- a/Netdisco/lib/App/Netdisco/Web/Plugin/Report/PortSsid.pm +++ b/Netdisco/lib/App/Netdisco/Web/Plugin/Report/PortSsid.pm @@ -57,12 +57,13 @@ get '/ajax/content/report/portssid' => require_login sub { return unless $rs->has_rows; if ( request->is_ajax ) { - template 'ajax/report/portssid.tt', { results => $rs, }, + template 'ajax/report/portssid.tt', { results => $rs, opt => $ssid }, { layout => undef }; } else { header( 'Content-Type' => 'text/comma-separated-values' ); - template 'ajax/report/portssid_csv.tt', { results => $rs, }, + template 'ajax/report/portssid_csv.tt', + { results => $rs, opt => $ssid }, { layout => undef }; } }; diff --git a/Netdisco/share/views/ajax/report/moduleinventory.tt b/Netdisco/share/views/ajax/report/moduleinventory.tt index c904c2c7..7f898270 100644 --- a/Netdisco/share/views/ajax/report/moduleinventory.tt +++ b/Netdisco/share/views/ajax/report/moduleinventory.tt @@ -1,6 +1,5 @@ [% USE Number.Format %] -[% IF results.first.ip %] - [% row = results.reset %] +[% IF opt %] @@ -62,7 +61,6 @@
[% ELSE %] - [% row = results.reset %] diff --git a/Netdisco/share/views/ajax/report/moduleinventory_csv.tt b/Netdisco/share/views/ajax/report/moduleinventory_csv.tt index 96a4d8b7..6c2c1c13 100644 --- a/Netdisco/share/views/ajax/report/moduleinventory_csv.tt +++ b/Netdisco/share/views/ajax/report/moduleinventory_csv.tt @@ -1,6 +1,5 @@ [% USE CSV -%] -[% IF results.first.ip %] - [% row = results.reset %] +[% IF opt %] [% CSV.dump(['Device' 'Description' 'Name' 'Class' 'Type' 'Model' 'Serial' 'HW Version' 'SW Version' 'FW Version']) %] [% WHILE (row = results.next) %] @@ -13,7 +12,6 @@ [% END %] [% ELSE %] - [% row = results.reset %] [% CSV.dump(['Class' 'Count']) %] [% WHILE (row = results.next) %] diff --git a/Netdisco/share/views/ajax/report/netbios.tt b/Netdisco/share/views/ajax/report/netbios.tt index dfefeb65..60377789 100644 --- a/Netdisco/share/views/ajax/report/netbios.tt +++ b/Netdisco/share/views/ajax/report/netbios.tt @@ -1,7 +1,6 @@ [% USE date(format = '%Y-%m-%d %H:%M') %] [% USE Number.Format %] -[% IF results.first.mac %] - [% row = results.reset %] +[% IF opt %]
@@ -27,7 +26,6 @@
[% ELSE %] - [% row = results.reset %] diff --git a/Netdisco/share/views/ajax/report/netbios_csv.tt b/Netdisco/share/views/ajax/report/netbios_csv.tt index 13f85cbf..9f7dc70f 100644 --- a/Netdisco/share/views/ajax/report/netbios_csv.tt +++ b/Netdisco/share/views/ajax/report/netbios_csv.tt @@ -1,7 +1,6 @@ [% USE CSV -%] [% USE date(format = '%Y-%m-%d %H:%M') %] -[% IF results.first.ip %] - [% row = results.reset %] +[% IF opt %] [% CSV.dump(['Domain' 'Node' 'Name' 'User' 'First Seen' 'Last Seen']) %] [% WHILE (row = results.next) %] @@ -14,7 +13,6 @@ [% END %] [% ELSE %] - [% row = results.reset %] [% CSV.dump(['Domain' 'Count']) %] [% WHILE (row = results.next) %] diff --git a/Netdisco/share/views/ajax/report/portssid.tt b/Netdisco/share/views/ajax/report/portssid.tt index 266bc195..0a09cc3d 100644 --- a/Netdisco/share/views/ajax/report/portssid.tt +++ b/Netdisco/share/views/ajax/report/portssid.tt @@ -1,6 +1,5 @@ [% USE Number.Format %] -[% IF results.first.device.ip %] - [% row = results.reset %] +[% IF opt %]
@@ -28,7 +27,6 @@
[% ELSE %] - [% row = results.reset %] diff --git a/Netdisco/share/views/ajax/report/portssid_csv.tt b/Netdisco/share/views/ajax/report/portssid_csv.tt index 6e5796b0..fa6e2ffb 100644 --- a/Netdisco/share/views/ajax/report/portssid_csv.tt +++ b/Netdisco/share/views/ajax/report/portssid_csv.tt @@ -1,6 +1,5 @@ [% USE CSV -%] -[% IF results.first.ip %] - [% row = results.reset %] +[% IF opt %] [% CSV.dump(['Device' 'Port' 'Name' 'Broadcast' 'Model' 'SSID' 'Vendor']) %] [% WHILE (row = results.next) %] @@ -14,7 +13,6 @@ [% END %] [% ELSE %] - [% row = results.reset %] [% CSV.dump(['SSID' 'Count']) %] [% WHILE (row = results.next) %]