Bug 21944: Reroute waiting hold from wrong branch
To Test: 1) Place a hold on an item. 2) Check in the item to trigger the hold. Item is now listed as waiting. 3) Set branch to a different library. 4) Check in the item to trigger the hold. Notice that nothing but a local use is recorded. 5) Apply the patch. 6) Repeat steps 1-4. Notice that the hold is triggered around routed to its original pickup location. A transfer is set and the hold status is changed from waiting to correctly showing the item as in transit. Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
parent
ccf4dfc3e9
commit
07ad62380e
|
|
@ -2073,10 +2073,17 @@ sub AddReturn {
|
|||
}
|
||||
|
||||
# find reserves.....
|
||||
# if we don't have a reserve with the status W, we launch the Checkreserves routine
|
||||
# launch the Checkreserves routine to find any holds
|
||||
my ($resfound, $resrec);
|
||||
my $lookahead= C4::Context->preference('ConfirmFutureHolds'); #number of days to look for future holds
|
||||
($resfound, $resrec, undef) = C4::Reserves::CheckReserves( $item->itemnumber, undef, $lookahead ) unless ( $item->withdrawn );
|
||||
# if a hold is found and is waiting at another branch, change the priority back to 1 and trigger the hold (this will trigger a transfer and update the hold status properly)
|
||||
if ( $resfound eq "Waiting" and $branch ne $resrec->{branchcode} ) {
|
||||
C4::Reserves::RevertWaitingStatus( { itemnumber => $item->itemnumber } );
|
||||
#If the hold is reverted we need to refetch for the return values
|
||||
($resfound, $resrec, undef) = C4::Reserves::CheckReserves( $item->itemnumber, undef, $lookahead ) unless ( $item->withdrawn );
|
||||
}
|
||||
($resfound, $resrec, undef) = C4::Reserves::CheckReserves( $item->itemnumber, undef, $lookahead ) unless ( $item->withdrawn );
|
||||
if ($resfound) {
|
||||
$resrec->{'ResFound'} = $resfound;
|
||||
$messages->{'ResFound'} = $resrec;
|
||||
|
|
|
|||
Loading…
Reference in New Issue