When a user changes the pickup lib and a retarget is triggered
the currently targeted copy gets excluded if there are other
available copies.
This can cause delays and confusion since the new copy may
not be the best choice.
This change clears the current_copy before the retarget in that
situation.
Testing setup.
Find/create a title with items that looks like:
System X ->
Branch A -> Holdable item
Branch B ->
System Y
Branch C -> Holdable item
Branch D -> Holdable item
Place a hold with a pickup location of Branch B, which should target
the closest item at Branch A
Then change the pickup location of your hold to Branch A.
The retarget that happens, should switch the targeted copy to Branch C or D.
After Change Applied:
The hold should remain targeted to Branch A after pickup lib is changed
to Branch A.
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
# clear to prevent premature shelf expiration
$hold->clear_shelf_expire_time;
}
+ # If a copy is targeted and pickup lib changes,
+ # clear the current_copy so a retarget will re-evaluate
+ # the hold from scratch.
+ } elsif ($hold_status == 2) {
+ $logger->info("Pickup location changed and waiting for capture, clear current_copy for hold ".$hold->id);
+ $hold->clear_current_copy;
}
}