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

(-)a/C4/Reserves.pm (-9 / +18 lines)
Lines 2182-2189 sub MoveReserve { Link Here
2182
    my ( $restype, $res, undef ) = CheckReserves( $item, $lookahead );
2182
    my ( $restype, $res, undef ) = CheckReserves( $item, $lookahead );
2183
2183
2184
    if ( $res && $res->{borrowernumber} == $patron->borrowernumber ) {
2184
    if ( $res && $res->{borrowernumber} == $patron->borrowernumber ) {
2185
        my $hold = Koha::Holds->find( $res->{reserve_id} );
2185
        my $result = CanItemBeReserved( $patron, $item, $res->{branchcode} );
2186
        $hold->fill( { item_id => $item->id } );
2186
        if ( $result->{status} eq 'OK' ) {
2187
            my $hold = Koha::Holds->find( $res->{reserve_id} );
2188
            $hold->fill( { item_id => $item->id } );
2189
        }
2187
    } else {
2190
    } else {
2188
2191
2189
        # The item is reserved by someone else.
2192
        # The item is reserved by someone else.
Lines 2207-2220 sub MoveReserve { Link Here
2207
        if ($hold) {
2210
        if ($hold) {
2208
2211
2209
            # The item is reserved by the current patron
2212
            # The item is reserved by the current patron
2210
            $hold->fill( { item_id => $item->id } );
2213
            my $result = CanItemBeReserved( $patron, $item, $hold->branchcode );
2214
            if ( $result->{status} eq 'OK' ) {
2215
2216
                # Only fill hold with actually reservable items
2217
                $hold->fill( { item_id => $item->id } );
2218
            }
2211
        }
2219
        }
2212
2220
2213
        $hold = Koha::Holds->find( $res->{reserve_id} );
2221
        if ($res) {
2214
        if ( $cancelreserve eq 'revert' ) {
2222
            $hold = Koha::Holds->find( $res->{reserve_id} );
2215
            $hold->revert_found();
2223
            if ( $cancelreserve eq 'revert' ) {
2216
        } elsif ( $cancelreserve eq 'cancel' || $cancelreserve ) {    # cancel reserves on this item
2224
                $hold->revert_found();
2217
            $hold->cancel;
2225
            } elsif ( $cancelreserve eq 'cancel' || $cancelreserve ) {    # cancel reserves on this item
2226
                $hold->cancel;
2227
            }
2218
        }
2228
        }
2219
    }
2229
    }
2220
}
2230
}
2221
- 

Return to bug 40792