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

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

Return to bug 14784