From 53b14414d31c58c710c4742f45e883046a274b36 Mon Sep 17 00:00:00 2001 From: David Bourgault Date: Fri, 20 Oct 2017 09:11:47 -0400 Subject: [PATCH] Bug 19336 - Correct DateTime and Koha calls This fixes the 'DateTime does not overload' error. It also fixes the next error, which was that C4::GetIssuingRules is deprecated. Finally it now handles no overduefinescap being define (does nothing). Passes QA test tool Signed-off-by: Alex Buckley --- misc/cronjobs/fines.pl | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/misc/cronjobs/fines.pl b/misc/cronjobs/fines.pl index 361f37e..6279903 100755 --- a/misc/cronjobs/fines.pl +++ b/misc/cronjobs/fines.pl @@ -36,6 +36,7 @@ use Getopt::Long; use Carp; use File::Spec; +use Koha::IssuingRules; use Koha::Calendar; use Koha::DateUtils; use C4::Log; @@ -126,10 +127,15 @@ for my $overdue ( @{$overdues} ) { ++$counted; my ( $amount, $type, $unitcounttotal ); - if ( defined($maxfinesdays) && $maxfinesdays <= $datedue->delta_days( $today )) { + if ( defined($maxfinesdays) && $maxfinesdays <= $datedue->delta_days( $today )->in_units( 'days' ) ) { my $itype = $overdue->{itemtype} || $overdue->{itype}; - my $data = C4::Circulation::GetIssuingRule( $borrower->{categorycode}, $itype, $branchcode ); - $amount = $data->{overduefinescap}; + my $data = Koha::IssuingRules->get_effective_issuing_rule( { categorycode => $borrower->{categorycode}, itemtype => $itype, branchcode => $branchcode } ); + if ( defined($data->overduefinescap) ) { + $amount = $data->overduefinescap; + } + else { + print "No overduefinescap defined for {branchcode = $branchcode, itemtype = $itype and categorycode = $borrower->{categorycode}}\n"; + } } if (!$amount) { ( $amount, $type, $unitcounttotal ) = CalcFine( $overdue, $borrower->{categorycode}, $branchcode, $datedue, $today ); -- 2.1.4