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

(-)a/C4/Reserves.pm (-7 / +10 lines)
Lines 2021-2043 sub MoveReserve { Link Here
2021
    my $lookahead = C4::Context->preference('ConfirmFutureHolds');    #number of days to look for future holds
2021
    my $lookahead = C4::Context->preference('ConfirmFutureHolds');    #number of days to look for future holds
2022
    my $item      = Koha::Items->find($itemnumber);
2022
    my $item      = Koha::Items->find($itemnumber);
2023
    my ( $restype, $res, undef ) = CheckReserves( $item, $lookahead );
2023
    my ( $restype, $res, undef ) = CheckReserves( $item, $lookahead );
2024
    return unless $res;
2025
2024
2026
    my $biblionumber = $res->{biblionumber};
2025
    if ( $res && $res->{borrowernumber} == $borrowernumber ) {
2027
2028
    if ( $res->{borrowernumber} == $borrowernumber ) {
2029
        my $hold = Koha::Holds->find( $res->{reserve_id} );
2026
        my $hold = Koha::Holds->find( $res->{reserve_id} );
2030
        $hold->fill( { item_id => $itemnumber } );
2027
        $hold->fill( { item_id => $itemnumber } );
2031
    } else {
2028
    } else {
2032
2029
2033
        # warn "Reserved";
2034
        # The item is reserved by someone else.
2030
        # The item is reserved by someone else.
2035
        # Find this item in the reserves
2031
        # Find this item in the reserves
2036
2032
2033
        my $lookahead_date = output_pref(
2034
            {
2035
                dt         => dt_from_string->add_duration( DateTime::Duration->new( days => $lookahead ) ),
2036
                dateformat => 'iso', dateonly => 1
2037
            }
2038
        );
2037
        my $borr_res = Koha::Holds->search(
2039
        my $borr_res = Koha::Holds->search(
2038
            {
2040
            {
2039
                borrowernumber => $borrowernumber,
2041
                borrowernumber => $borrowernumber,
2040
                biblionumber   => $biblionumber,
2042
                biblionumber   => $item->biblionumber,
2043
                reservedate    => { '<=' => $lookahead_date },
2044
                -or            => [ item_level_hold => 0, itemnumber => $itemnumber ],
2041
            },
2045
            },
2042
            { order_by => 'priority' }
2046
            { order_by => 'priority' }
2043
        )->next();
2047
        )->next();
2044
- 

Return to bug 38650