diff --git a/Changes b/Changes index 68db4a5b..97a189f3 100644 --- a/Changes +++ b/Changes @@ -4,6 +4,7 @@ * Node Montior is now included in Admin menu * #48 Node Monitor supports matching on OUI + * #31 Configurable Free Time in Port Utilization Report 2.039015 - 2018-03-05 diff --git a/lib/App/Netdisco/DB/Result/Virtual/PortUtilization.pm b/lib/App/Netdisco/DB/Result/Virtual/PortUtilization.pm index a37c383a..f08bac65 100644 --- a/lib/App/Netdisco/DB/Result/Virtual/PortUtilization.pm +++ b/lib/App/Netdisco/DB/Result/Virtual/PortUtilization.pm @@ -11,10 +11,15 @@ __PACKAGE__->table('port_utilization'); __PACKAGE__->result_source_instance->is_virtual(1); __PACKAGE__->result_source_instance->view_definition(< ?::interval )) THEN 1 + ELSE 0 END) as ports_free FROM device d LEFT JOIN device_port dp ON d.ip = dp.ip GROUP BY d.dns, d.ip diff --git a/lib/App/Netdisco/Web/Plugin/Report/PortUtilization.pm b/lib/App/Netdisco/Web/Plugin/Report/PortUtilization.pm index 124519c6..399ee51e 100644 --- a/lib/App/Netdisco/Web/Plugin/Report/PortUtilization.pm +++ b/lib/App/Netdisco/Web/Plugin/Report/PortUtilization.pm @@ -16,7 +16,11 @@ register_report( get '/ajax/content/report/portutilization' => require_login sub { return unless schema('netdisco')->resultset('Device')->count; - my @results = schema('netdisco')->resultset('Virtual::PortUtilization')->hri->all; + + my $age_num = param('age_num') || 3; + my $age_unit = param('age_unit') || 'months'; + my @results = schema('netdisco')->resultset('Virtual::PortUtilization') + ->search(undef, { bind => [ "$age_num $age_unit" ] })->hri->all; if (request->is_ajax) { my $json = to_json (\@results); diff --git a/share/config.yml b/share/config.yml index 487d7258..93fb71a1 100644 --- a/share/config.yml +++ b/share/config.yml @@ -144,6 +144,9 @@ sidebar_defaults: report_moduleinventory: fruonly: { default: checked } matchall: { default: checked } + report_portutilization: + age_num: { default: 3 } + age_unit: { default: months } device_port_col_idx_left: 0 device_port_col_idx_mid: 2 device_port_col_idx_right: -1 diff --git a/share/views/sidebar/device/ports.tt b/share/views/sidebar/device/ports.tt index 5897ffbe..1a4224ec 100644 --- a/share/views/sidebar/device/ports.tt +++ b/share/views/sidebar/device/ports.tt @@ -112,7 +112,7 @@
  • Mark as Free if Down for:
    diff --git a/share/views/sidebar/report/portutilization.tt b/share/views/sidebar/report/portutilization.tt new file mode 100644 index 00000000..2dc17336 --- /dev/null +++ b/share/views/sidebar/report/portutilization.tt @@ -0,0 +1,19 @@ + +

    Port Utilization

    +
    + Mark as Free if Down for:
    + + +
    + + +