From 7482d80068434afb0e38ac0905230aa66956843f Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 13 Oct 2015 11:46:18 +0100 Subject: [PATCH] Bug 14920: Simplify the date management on reserveratios Note that the previous patch was wrong, the start date defaulted to yesterday, the original behavior is to default to last year. This patch removes some unecessary variable declarations and tests. Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi --- circ/reserveratios.pl | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/circ/reserveratios.pl b/circ/reserveratios.pl index 27cc86ccad..bd51b7c2d7 100755 --- a/circ/reserveratios.pl +++ b/circ/reserveratios.pl @@ -55,18 +55,14 @@ if ($booksellerid && $basketno) { $template->param( booksellerid => $booksellerid, basketno => $basketno ); } -$startdate = eval { output_pref( { dt => dt_from_string( $startdate ), dateonly => 1, dateformat => 'iso' } ); }; -$enddate = eval { output_pref( { dt => dt_from_string( $enddate ), dateonly => 1, dateformat => 'iso' } ); }; +$startdate = eval { dt_from_string( $startdate ) } if $startdate; +$enddate = eval { dt_from_string( $enddate ) } if $enddate; -my $todaysdate_dt = dt_from_string; -my $todaysdate = output_pref( { dt => $todaysdate_dt, dateonly => 1, dateformat => 'iso' } ); +my $todaysdate = dt_from_string; # A default of the prior years's holds is a reasonable way to pull holds -my $datelastyear_dt = $todaysdate_dt->subtract( days => 1); -my $datelastyear = output_pref( { dt => $datelastyear_dt, dateonly => 1, dateformat => 'iso' } ); - -$startdate = $datelastyear unless $startdate; $enddate = $todaysdate unless $enddate; +$startdate = $todaysdate->clone->subtract( years => 1 ) unless $startdate; if (!defined($ratio)) { $ratio = 3; @@ -79,16 +75,13 @@ if ($ratio <= 0) { my $dbh = C4::Context->dbh; my $sqldatewhere = ""; -$debug and warn output_pref({ dt => dt_from_string( $startdate ), dateformat => 'iso', dateonly => 1 }) . "\n" . output_pref({ dt => dt_from_string( $enddate ), dateformat => 'iso', dateonly => 1 }); +$debug and warn output_pref({ dt => $startdate, dateformat => 'iso', dateonly => 1 }) . "\n" . output_pref({ dt => $enddate, dateformat => 'iso', dateonly => 1 }); my @query_params = (); -if ($startdate) { - $sqldatewhere .= " AND reservedate >= ?"; - push @query_params, $startdate ; -} -if ($enddate) { - $sqldatewhere .= " AND reservedate <= ?"; - push @query_params, $enddate; -} + +$sqldatewhere .= " AND reservedate >= ?"; +push @query_params, output_pref({ dt => $startdate, dateformat => 'iso' }) ; +$sqldatewhere .= " AND reservedate <= ?"; +push @query_params, output_pref({ dt => $enddate, dateformat => 'iso' }); my $nfl_comparison = $include_ordered ? '<=' : '='; my $strsth = -- 2.39.2