diff --git a/Netdisco/lib/App/Netdisco/Web/Plugin/Device/Ports.pm b/Netdisco/lib/App/Netdisco/Web/Plugin/Device/Ports.pm index e7204188..6940b8f4 100644 --- a/Netdisco/lib/App/Netdisco/Web/Plugin/Device/Ports.pm +++ b/Netdisco/lib/App/Netdisco/Web/Plugin/Device/Ports.pm @@ -53,7 +53,11 @@ ajax '/ajax/content/device/ports' => require_login sub { } # filter for port status if asked - my %port_state = map {$_ => 1} (param('port_state') || ()); + my %port_state = map {$_ => 1} + (ref [] eq ref param('port_state') ? @{param('port_state')} + : param('port_state') ? param('port_state') : ()); + + return unless scalar keys %port_state; if (exists $port_state{free}) { if (scalar keys %port_state == 1) { diff --git a/Netdisco/share/views/ajax/device/ports.tt b/Netdisco/share/views/ajax/device/ports.tt index 5f4a42db..1e2dcf9d 100644 --- a/Netdisco/share/views/ajax/device/ports.tt +++ b/Netdisco/share/views/ajax/device/ports.tt @@ -22,7 +22,7 @@ [% ELSIF row.stp == 'blocking' %] - [% ELSIF row.has_column('is_free') AND row.is_free %] + [% ELSIF row.has_column_loaded('is_free') AND row.is_free %] [% ELSIF row.up_admin == 'up' AND row.up == 'down' %]