From eaf06807c0131c408c13acc7084423670f07913b 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 --- 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 73c68f0..cacbe89 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, @@ -116,7 +118,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 "; @@ -177,6 +179,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 b12ffc3..5583fd8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt @@ -89,20 +89,31 @@

Refine results:

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