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

(-)a/C4/Reserves.pm (+24 lines)
Lines 1052-1057 sub CancelReserve { Link Here
1052
1052
1053
    my $reserve = GetReserve( $reserve_id );
1053
    my $reserve = GetReserve( $reserve_id );
1054
    if ($reserve) {
1054
    if ($reserve) {
1055
        # Charge for canceled reserves that have been waiting too long
1056
        if (   $reserve->{found} eq 'W'
1057
            && $reserve->{priority} == 0
1058
            && C4::Context->preference("ExpireReservesMaxPickUpDelay") )
1059
        {
1060
            my $max_pickup_delay = C4::Context->preference("ReservesMaxPickUpDelay");
1061
1062
            my $now          = dt_from_string();
1063
            my $waitingdate  = dt_from_string( $reserve->{waitingdate} );
1064
            my $duration     = $waitingdate->delta_days($now);
1065
            my $days_waiting = $duration->in_units('days');
1066
            if ( $days_waiting > $max_pickup_delay ) {
1067
                my $charge = C4::Context->preference("ExpireReservesMaxPickUpDelayCharge");
1068
                if ($charge) {
1069
                    manualinvoice(
1070
                        $reserve->{'borrowernumber'},
1071
                        $reserve->{'itemnumber'},
1072
                        'Hold waiting too long',
1073
                        'F', $charge
1074
                    );
1075
                }
1076
            }
1077
        }
1078
1055
        my $query = "
1079
        my $query = "
1056
            UPDATE reserves
1080
            UPDATE reserves
1057
            SET    cancellationdate = now(),
1081
            SET    cancellationdate = now(),
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (-2 / +1 lines)
Lines 484-490 Circulation: Link Here
484
                  no: "Don't allow"
484
                  no: "Don't allow"
485
            - "holds to expire automatically if they have not been picked by within the time period specified in ReservesMaxPickUpDelay"
485
            - "holds to expire automatically if they have not been picked by within the time period specified in ReservesMaxPickUpDelay"
486
        -
486
        -
487
            - If using ExpireReservesMaxPickUpDelay, charge a borrower who allows his or her waiting hold to expire a fee of
487
            - Charge a borrower who allows his or her waiting hold to expire be canceled a fee of
488
            - pref: ExpireReservesMaxPickUpDelayCharge
488
            - pref: ExpireReservesMaxPickUpDelayCharge
489
              class: currency
489
              class: currency
490
        -
490
        -
491
- 

Return to bug 14137