From 4a8fc46db23cd7c233d88be4eeeebe66c1fde9e8 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Fri, 8 Oct 2021 13:46:29 +0000 Subject: [PATCH] Bug 29196: Bug 27068 follow-up Test plan stolen/updated from 27068 To test: 1) In library groups add a root group and check it as hold group. 2) Add two libraries to the group 3) In circulation and fines rules, in 'Default checkout, hold and return policy', in Hold pickup library match change the value to 'From patron's hold group' 4) Place a hold from a patron whose home library is from the group 4.5) perl misc/cronjobs/holds/build_holdsqueue.pl 5) Go to /cgi-bin/koha/circ/view_holdsqueue.pl 6) Select the holding branch of the item with a hold 7) observe no results 8) Apply Patch 9) Repeat 5-6 10) The item should come up on the holds queue results 11) Place a hold on an item where 1 record has 2 copies, 1 in the hold group, 1 not. 12) Run the HoldQueue for the library not in the group and make sure the hold isn't showing. 13) Turn on transportation cost matrix and set costs for the libraries within the group. 14) Place a hold for a patron where multiple copies are on the bib. 15) Check both branch's hold queue for the item, it should only show on the lower cost branch's list if both copies are available. --- C4/HoldsQueue.pm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/C4/HoldsQueue.pm b/C4/HoldsQueue.pm index b4d2b026f2..359b178301 100644 --- a/C4/HoldsQueue.pm +++ b/C4/HoldsQueue.pm @@ -616,8 +616,7 @@ sub MapItemsToHoldRequests { next unless $items_by_itemnumber{ $item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ); # Don't fill item level holds that contravene the hold pickup policy at this time - next unless $item->{hold_fulfillment_policy} eq 'any' - || $request->{branchcode} eq $item->{ $item->{hold_fulfillment_policy} }; + next unless _checkHoldPolicy($item, $request); # If hold itemtype is set, item's itemtype must match next unless ( !$request->{itemtype} -- 2.20.1