]> git.koha-community.org Git - koha.git/commit
Bug 18958: Make hold_fill_targets specific to reserves
authorNick Clemens <nick@bywatersolutions.com>
Fri, 14 Aug 2020 11:06:40 +0000 (11:06 +0000)
committerAleisha Amohia <aleishaamohia@hotmail.com>
Tue, 20 Oct 2020 01:32:05 +0000 (14:32 +1300)
commitf6793697737ec08802cfe9a7f224767e0d0d89fb
tree91bfaace94ee3e60e5e5e368994372c09ff2a43f
parent39dd8a565d27ddd70fd7c14abe4770cd6e6cc0ba
Bug 18958: Make hold_fill_targets specific to reserves

After looking at Marcel's comments, the problem is in our matching
to hold_fill_targets - rather than adjusting to find filled/waiting holds we
could ensure that hold_fill_targets only refers to the specific hold it
is intended to

This patch is clearer, if slightly less performant than last (we now return all
the reserves and have to find the 'highest')

Test Plan:
 1 - Create and use a patron that can place multiple record level holds per record
 2 - Create a record with X items, each at a different library
 3 - Place X 'Next available' holds on the record for the patron using the 'Holds to place' box
 4 - perl misc/cronjobs/holds/build_holdsqueue.pl
 5 - Check in LibraryA's copy as LibraryA and confirm the hold
 6 - Revisit request.pl for the record, notice the next hold in line is now item-specific
 7 - Checkout the item to the patron, notice the remaining hold is marked waiting
 8 - Attempt to place another hold for your patron, notice that it requires an item-specific hold
 8 - Apply this patch
 9 - Repeat steps 1-5
10 - Revisit request.pl for the record, notice the next hold in line has *not* become item-specific
11 - Checkout the item to the patron, ensure the first hold is filled and the second remains record level
12 - Repeat whole test plan without building holds queue to confirm holds are still treated correctly

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 0bfe336c7b0a8993411bd45b9e7c66228730f86d)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit a120656eca586ecd2005421e37fbf8485131ea45)

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
C4/HoldsQueue.pm
C4/Reserves.pm
installer/data/mysql/atomicupdate/bug_18958_add_reserve_id_to_hold_fill_targets.perl [new file with mode: 0644]
installer/data/mysql/kohastructure.sql
t/db_dependent/Reserves.t