@@ -, +, @@ --- C4/Circulation.pm | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-) --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -1780,7 +1780,7 @@ sub AddReturn { } # case of a return of document (deal with issues and holdingbranch) - my $today = dt_from_string( $return_date, 'iso' ); + my $return_date_dt = dt_from_string( $return_date, 'iso' ); if ($doreturn) { my $datedue = $issue->{date_due}; @@ -1792,7 +1792,7 @@ sub AddReturn { # FIXME: check issuedate > returndate, factoring in holidays #$circControlBranch = _GetCircControlBranch($item,$borrower) unless ( $item->{'issuedate'} eq C4::Dates->today('iso') );; $circControlBranch = _GetCircControlBranch($item,$borrower); - $issue->{'overdue'} = DateTime->compare($issue->{'date_due'}, $today ) == -1 ? 1 : 0; + $issue->{'overdue'} = DateTime->compare($issue->{'date_due'}, $return_date_dt ) == -1 ? 1 : 0; } if ($borrowernumber) { @@ -1805,12 +1805,9 @@ sub AddReturn { : ( $control eq 'PatronLibrary' ) ? $borrower->{branchcode} : $issue->{branchcode}; - my $date_returned = - $return_date ? dt_from_string($return_date) : $today; - my ( $amount, $type, $unitcounttotal ) = C4::Overdues::CalcFine( $item, $borrower->{categorycode}, - $control_branchcode, $datedue, $date_returned ); + $control_branchcode, $datedue, $return_date_dt ); $type ||= q{}; @@ -1890,7 +1887,7 @@ sub AddReturn { if ( $issue->{overdue} && $issue->{date_due} ) { # fix fine days - my ($debardate,$reminder) = _debar_user_on_return( $borrower, $item, $issue->{date_due}, $today ); + my ($debardate,$reminder) = _debar_user_on_return( $borrower, $item, $issue->{date_due}, $return_date_dt ); if ($reminder){ $messages->{'PrevDebarred'} = $debardate; } else { @@ -1900,8 +1897,8 @@ sub AddReturn { } elsif ( $issue->{date_due} and $borrower->{'debarred'} ) { my $borrower_debar_dt = dt_from_string( $borrower->{debarred} ); $borrower_debar_dt->truncate(to => 'day'); - my $today_dt = $today->clone()->truncate(to => 'day'); - if ( DateTime->compare( $borrower_debar_dt, $today_dt ) != -1 ) { + my $return_date_dt_clone = $return_date_dt->clone()->truncate(to => 'day'); + if ( DateTime->compare( $borrower_debar_dt, $return_date_dt_clone ) != -1 ) { $messages->{'PrevDebarred'} = $borrower->{'debarred'}; } } --