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

(-)a/C4/Circulation.pm (-16 / +12 lines)
Lines 2009-2025 sub AddReturn { Link Here
2009
        my $fix = _FixOverduesOnReturn($borrowernumber, $item->{itemnumber}, $exemptfine, $dropbox);
2009
        my $fix = _FixOverduesOnReturn($borrowernumber, $item->{itemnumber}, $exemptfine, $dropbox);
2010
        defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->{itemnumber}...) failed!";  # zero is OK, check defined
2010
        defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->{itemnumber}...) failed!";  # zero is OK, check defined
2011
2011
2012
       my $new_debar = 0;
2012
        if ( $issue and $issue->is_overdue ) {
2013
        if ( $issue and $issue->is_overdue ) {
2013
        # fix fine days
2014
            # fix fine days
2014
            $today = $dropboxdate if $dropbox;
2015
            $today = $dropboxdate if $dropbox;
2015
            my ($debardate,$reminder) = _debar_user_on_return( $patron_unblessed, $item, dt_from_string($issue->date_due), $today );
2016
            my $debardate = _debar_user_on_return( $patron_unblessed, $item, dt_from_string($issue->date_due), $today );
2016
            if ($reminder){
2017
2017
                $messages->{'PrevDebarred'} = $debardate;
2018
            if ( $debardate ) {
2018
            } else {
2019
                $messages->{'Debarred'} = $debardate;
2019
                $messages->{'Debarred'} = $debardate if $debardate;
2020
                $new_debar = 1;
2020
            }
2021
            }
2022
        }
2021
        # there's no overdue on the item but borrower had been previously debarred
2023
        # there's no overdue on the item but borrower had been previously debarred
2022
        } elsif ( $issue->date_due and $patron->debarred ) {
2024
        if ( $new_debar == 0 and $patron->debarred ) {
2023
             if ( $patron->debarred eq "9999-12-31") {
2025
             if ( $patron->debarred eq "9999-12-31") {
2024
                $messages->{'ForeverDebarred'} = $patron->debarred;
2026
                $messages->{'ForeverDebarred'} = $patron->debarred;
2025
             } else {
2027
             } else {
Lines 2275-2289 sub _debar_user_on_return { Link Here
2275
            });
2277
            });
2276
            # if borrower was already debarred but does not get an extra debarment
2278
            # if borrower was already debarred but does not get an extra debarment
2277
            my $patron = Koha::Patrons->find( $borrower->{borrowernumber} );
2279
            my $patron = Koha::Patrons->find( $borrower->{borrowernumber} );
2278
            my $new_debarment_str;
2280
            if ( $borrower->{debarred} ne $patron->is_debarred ) {
2279
            if ( $borrower->{debarred} eq $patron->is_debarred ) {
2281
                # FIXME Should return a DateTime object
2280
                $is_a_reminder = 1;
2282
                return $new_debar_dt->ymd();
2281
                $new_debarment_str = $borrower->{debarred};
2282
            } else {
2283
                $new_debarment_str = $new_debar_dt->ymd();
2284
            }
2283
            }
2285
            # FIXME Should return a DateTime object
2286
            return $new_debarment_str, $is_a_reminder;
2287
        }
2284
        }
2288
    }
2285
    }
2289
    return;
2286
    return;
2290
- 

Return to bug 14784