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

(-)a/C4/Circulation.pm (-6 / +17 lines)
Lines 1848-1858 sub AddReturn { Link Here
1848
        my $fix = _FixOverduesOnReturn($borrowernumber, $item->{itemnumber}, $exemptfine, $dropbox);
1848
        my $fix = _FixOverduesOnReturn($borrowernumber, $item->{itemnumber}, $exemptfine, $dropbox);
1849
        defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->{itemnumber}...) failed!";  # zero is OK, check defined
1849
        defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->{itemnumber}...) failed!";  # zero is OK, check defined
1850
        
1850
        
1851
        if ( $issue->{overdue} && $issue->{date_due} ) {
1851
    if ( $issue->{overdue} && $issue->{date_due} ) {
1852
# fix fine days
1852
# fix fine days
1853
            my $debardate =
1853
            my ($debardate,$reminder) = _debar_user_on_return( $borrower, $item, $issue->{date_due}, $today );
1854
              _debar_user_on_return( $borrower, $item, $issue->{date_due}, $today );
1854
            if ($reminder){
1855
            $messages->{Debarred} = $debardate if ($debardate);
1855
                $messages->{'PrevDebarred'} = $debardate;
1856
            } else {
1857
                $messages->{'Debarred'} = $debardate if $debardate;
1858
            }
1859
        } elsif ( $issue->{date_due} and $borrower->{'debarred'} ) {
1860
             my $borrower_debar_dt = dt_from_string( $borrower->{debarred} );
1861
             $borrower_debar_dt->truncate(to => 'day');
1862
             my $today_dt = $today->clone()->truncate(to => 'day');
1863
             if ( DateTime->compare( $borrower_debar_dt, $today_dt ) != -1 ) {
1864
                 $messages->{'PrevDebarred'} = $borrower->{'debarred'};
1865
             }
1856
        }
1866
        }
1857
    }
1867
    }
1858
1868
Lines 2029-2040 sub _debar_user_on_return { Link Here
2029
              $dt_today->clone()->add_duration( $deltadays * $finedays );
2039
              $dt_today->clone()->add_duration( $deltadays * $finedays );
2030
            if ( $borrower->{debarred} ) {
2040
            if ( $borrower->{debarred} ) {
2031
                my $borrower_debar_dt = dt_from_string( $borrower->{debarred} );
2041
                my $borrower_debar_dt = dt_from_string( $borrower->{debarred} );
2032
2042
                $borrower_debar_dt->truncate(to => 'day');
2043
                $new_debar_dt->truncate(to=>'day');
2033
                # Update patron only if new date > old
2044
                # Update patron only if new date > old
2034
                if ( DateTime->compare( $borrower_debar_dt, $new_debar_dt ) !=
2045
                if ( DateTime->compare( $borrower_debar_dt, $new_debar_dt ) !=
2035
                    -1 )
2046
                    -1 )
2036
                {
2047
                {
2037
                    return;
2048
                    return ($borrower_debar_dt,1);
2038
                }
2049
                }
2039
2050
2040
            }
2051
            }
(-)a/circ/returns.pl (+3 lines)
Lines 457-462 foreach my $code ( keys %$messages ) { Link Here
457
        $err{debarborrowernumber} = $borrower->{borrowernumber};
457
        $err{debarborrowernumber} = $borrower->{borrowernumber};
458
        $err{debarname}           = "$borrower->{firstname} $borrower->{surname}";
458
        $err{debarname}           = "$borrower->{firstname} $borrower->{surname}";
459
    }
459
    }
460
    elsif ( $code eq 'PrevDebarred' ) {
461
        $err{prevdebarred}        = $messages->{'PrevDebarred'};
462
    }
460
    else {
463
    else {
461
        die "Unknown error code $code";    # note we need all the (empty) elsif's above, or we die.
464
        die "Unknown error code $code";    # note we need all the (empty) elsif's above, or we die.
462
        # This forces the issue of staying in sync w/ Circulation.pm
465
        # This forces the issue of staying in sync w/ Circulation.pm
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt (-1 / +3 lines)
Lines 350-355 $(document).ready(function () { Link Here
350
                    [% IF ( errmsgloo.debarred ) %]
350
                    [% IF ( errmsgloo.debarred ) %]
351
                        <p class="problem"><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% errmsgloo.debarborrowernumber %]">[% errmsgloo.debarname %]([% errmsgloo.debarcardnumber %])</a> is now debarred until [% errmsgloo.debarred | $KohaDates %] </p>
351
                        <p class="problem"><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% errmsgloo.debarborrowernumber %]">[% errmsgloo.debarname %]([% errmsgloo.debarcardnumber %])</a> is now debarred until [% errmsgloo.debarred | $KohaDates %] </p>
352
                    [% END %]
352
                    [% END %]
353
                    [% IF ( errmsgloo.prevdebarred ) %]
354
                        <p class="problem"><b>Reminder: </b>Patron was earlier restricted until [% errmsgloo.prevdebarred | $KohaDates %]</p>
355
                    [% END %]
353
            [% END %]
356
            [% END %]
354
[% IF ( soundon ) %]
357
[% IF ( soundon ) %]
355
<audio src="/intranet-tmpl/prog/sound/critical.ogg" autoplay="autoplay" autobuffer="autobuffer"></audio>
358
<audio src="/intranet-tmpl/prog/sound/critical.ogg" autoplay="autoplay" autobuffer="autobuffer"></audio>
356
- 

Return to bug 8231