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

(-)a/C4/Reserves.pm (-23 / +12 lines)
Lines 1984-2014 sub RevertWaitingStatus { Link Here
1984
    my $dbh = C4::Context->dbh;
1984
    my $dbh = C4::Context->dbh;
1985
1985
1986
    ## Get the waiting reserve we want to revert
1986
    ## Get the waiting reserve we want to revert
1987
    my $query = "
1987
    my $hold = Koha::Holds->search(
1988
        SELECT * FROM reserves
1988
        {
1989
        WHERE itemnumber = ?
1989
            itemnumber => $itemnumber,
1990
        AND found IS NOT NULL
1990
            found => { not => undef },
1991
    ";
1991
        }
1992
    my $sth = $dbh->prepare( $query );
1992
    )->next;
1993
    $sth->execute( $itemnumber );
1994
    my $reserve = $sth->fetchrow_hashref();
1995
1996
    my $hold = Koha::Holds->find( $reserve->{reserve_id} ); # TODO Remove the next raw SQL statements and use this instead
1997
1993
1998
    ## Increment the priority of all other non-waiting
1994
    ## Increment the priority of all other non-waiting
1999
    ## reserves for this bib record
1995
    ## reserves for this bib record
2000
    $query = "
1996
    my $holds = Koha::Holds->search({ biblionumber => $hold->biblionumber, priority => { '>' => 0 } });
2001
        UPDATE reserves
1997
    while ( my $h = $holds->next ) {
2002
        SET
1998
        $h->priority( $h->priority + 1 )->store;
2003
          priority = priority + 1
1999
    }
2004
        WHERE
2005
          biblionumber =  ?
2006
        AND
2007
          priority > 0
2008
    ";
2009
    $sth = $dbh->prepare( $query );
2010
    $sth->execute( $reserve->{'biblionumber'} );
2011
2000
2001
    ## Fix up the currently waiting reserve
2012
    $hold->set(
2002
    $hold->set(
2013
        {
2003
        {
2014
            priority    => 1,
2004
            priority    => 1,
Lines 2018-2024 sub RevertWaitingStatus { Link Here
2018
        }
2008
        }
2019
    )->store();
2009
    )->store();
2020
2010
2021
    _FixPriority( { biblionumber => $reserve->{biblionumber} } );
2011
    _FixPriority( { biblionumber => $hold->biblionumber } );
2022
2012
2023
    return $hold;
2013
    return $hold;
2024
}
2014
}
2025
- 

Return to bug 23070