View | Details | Raw Unified | Return to bug 8769
Collapse All | Expand All

(-)a/C4/Circulation.pm (-10 / +6 lines)
Lines 1780-1786 sub AddReturn { Link Here
1780
    }
1780
    }
1781
1781
1782
    # case of a return of document (deal with issues and holdingbranch)
1782
    # case of a return of document (deal with issues and holdingbranch)
1783
    my $today = dt_from_string( $return_date, 'iso' );
1783
    my $return_date_dt = dt_from_string( $return_date, 'iso' );
1784
1784
1785
    if ($doreturn) {
1785
    if ($doreturn) {
1786
        my $datedue = $issue->{date_due};
1786
        my $datedue = $issue->{date_due};
Lines 1792-1798 sub AddReturn { Link Here
1792
            # FIXME: check issuedate > returndate, factoring in holidays
1792
            # FIXME: check issuedate > returndate, factoring in holidays
1793
            #$circControlBranch = _GetCircControlBranch($item,$borrower) unless ( $item->{'issuedate'} eq C4::Dates->today('iso') );;
1793
            #$circControlBranch = _GetCircControlBranch($item,$borrower) unless ( $item->{'issuedate'} eq C4::Dates->today('iso') );;
1794
            $circControlBranch = _GetCircControlBranch($item,$borrower);
1794
            $circControlBranch = _GetCircControlBranch($item,$borrower);
1795
            $issue->{'overdue'} = DateTime->compare($issue->{'date_due'}, $today ) == -1 ? 1 : 0;
1795
            $issue->{'overdue'} = DateTime->compare($issue->{'date_due'}, $return_date_dt ) == -1 ? 1 : 0;
1796
        }
1796
        }
1797
1797
1798
        if ($borrowernumber) {
1798
        if ($borrowernumber) {
Lines 1805-1816 sub AddReturn { Link Here
1805
                  : ( $control eq 'PatronLibrary' )   ? $borrower->{branchcode}
1805
                  : ( $control eq 'PatronLibrary' )   ? $borrower->{branchcode}
1806
                  :                                     $issue->{branchcode};
1806
                  :                                     $issue->{branchcode};
1807
1807
1808
                my $date_returned =
1809
                  $return_date ? dt_from_string($return_date) : $today;
1810
1811
                my ( $amount, $type, $unitcounttotal ) =
1808
                my ( $amount, $type, $unitcounttotal ) =
1812
                  C4::Overdues::CalcFine( $item, $borrower->{categorycode},
1809
                  C4::Overdues::CalcFine( $item, $borrower->{categorycode},
1813
                    $control_branchcode, $datedue, $date_returned );
1810
                    $control_branchcode, $datedue, $return_date_dt );
1814
1811
1815
                $type ||= q{};
1812
                $type ||= q{};
1816
1813
Lines 1890-1896 sub AddReturn { Link Here
1890
        
1887
        
1891
        if ( $issue->{overdue} && $issue->{date_due} ) {
1888
        if ( $issue->{overdue} && $issue->{date_due} ) {
1892
        # fix fine days
1889
        # fix fine days
1893
            my ($debardate,$reminder) = _debar_user_on_return( $borrower, $item, $issue->{date_due}, $today );
1890
            my ($debardate,$reminder) = _debar_user_on_return( $borrower, $item, $issue->{date_due}, $return_date_dt );
1894
            if ($reminder){
1891
            if ($reminder){
1895
                $messages->{'PrevDebarred'} = $debardate;
1892
                $messages->{'PrevDebarred'} = $debardate;
1896
            } else {
1893
            } else {
Lines 1900-1907 sub AddReturn { Link Here
1900
        } elsif ( $issue->{date_due} and $borrower->{'debarred'} ) {
1897
        } elsif ( $issue->{date_due} and $borrower->{'debarred'} ) {
1901
             my $borrower_debar_dt = dt_from_string( $borrower->{debarred} );
1898
             my $borrower_debar_dt = dt_from_string( $borrower->{debarred} );
1902
             $borrower_debar_dt->truncate(to => 'day');
1899
             $borrower_debar_dt->truncate(to => 'day');
1903
             my $today_dt = $today->clone()->truncate(to => 'day');
1900
             my $return_date_dt_clone = $return_date_dt->clone()->truncate(to => 'day');
1904
             if ( DateTime->compare( $borrower_debar_dt, $today_dt ) != -1 ) {
1901
             if ( DateTime->compare( $borrower_debar_dt, $return_date_dt_clone ) != -1 ) {
1905
                 $messages->{'PrevDebarred'} = $borrower->{'debarred'};
1902
                 $messages->{'PrevDebarred'} = $borrower->{'debarred'};
1906
             }
1903
             }
1907
        }
1904
        }
1908
- 

Return to bug 8769