From 174c0899d47dcbc143c60c303e2d85a635650f99 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 216fb0b638..2186c76f39 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 dcc9d50a99..3d6508fcce 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt @@ -100,20 +100,31 @@

Refine results:

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