From 0df303928b40352fe4ba776f7b5f4eff9894ab69 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 19 Nov 2014 08:16:17 -0500 Subject: [PATCH] Bug 13298 - Holds ratios report ignores ordered items The holds ratio report ignores ordered items. This could cause a library to inadvertently order more copies of a title than they actually need. An option should be added to count ordered items ( i.e. any negative notforloan value ). Test Plan: 1) Apply this patch 2) Create a record with two items, one regular, one ordered. 3) Place 3 holds on the item 4) Run the reserve ratios report, by default you should see this record 5) Check the new 'include ordered' checkbox, rerun the report 6) Note that record is no longer displayed Signed-off-by: Heather Braum Signed-off-by: Jonathan Druart --- circ/reserveratios.pl | 11 +++--- .../prog/en/modules/circ/reserveratios.tt | 39 ++++++++++++++-------- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/circ/reserveratios.pl b/circ/reserveratios.pl index a08b606..f81bb7f 100755 --- a/circ/reserveratios.pl +++ b/circ/reserveratios.pl @@ -33,9 +33,10 @@ use C4::Biblio qw/GetMarcBiblio GetRecordValue GetFrameworkCode/; use C4::Acquisition qw/GetOrdersByBiblionumber/; my $input = new CGI; -my $startdate = $input->param('from'); -my $enddate = $input->param('to'); -my $ratio = $input->param('ratio'); +my $startdate = $input->param('from'); +my $enddate = $input->param('to'); +my $ratio = $input->param('ratio'); +my $include_ordered = $input->param('include_ordered'); my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { @@ -90,6 +91,7 @@ if ($enddate) { push @query_params, format_date_in_iso($enddate); } +my $nfl_comparison = $include_ordered ? '<=' : '='; my $strsth = "SELECT reservedate, reserves.borrowernumber as borrowernumber, @@ -118,7 +120,7 @@ my $strsth = LEFT JOIN items ON items.biblionumber=reserves.biblionumber LEFT JOIN biblio ON reserves.biblionumber=biblio.biblionumber WHERE - notforloan = 0 AND damaged = 0 AND itemlost = 0 AND withdrawn = 0 + notforloan $nfl_comparison 0 AND damaged = 0 AND itemlost = 0 AND withdrawn = 0 $sqldatewhere "; @@ -180,6 +182,7 @@ $template->param( from => $startdate, to => $enddate, ratio => $ratio, + include_ordered => $include_ordered, reserveloop => \@reservedata, ); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt index a020052..80fe4aa 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt @@ -91,20 +91,31 @@

Refine results:

-
  1. -
  2. -
  3. - -
  4. -
  5. - -
+
    +
  1. + + +
  2. + +
  3. + + [% IF include_ordered %] + + [% ELSE %] + + [% END %] +
  4. + +
  5. + + +
  6. + +
  7. + + +
  8. +
(inclusive)
-- 2.1.0