From 4709702a60f09e4d39ebff94ee4d8f6524a81bb4 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 3 Sep 2020 12:15:57 +0000 Subject: [PATCH] Bug 26367: Prevent warn about undefined values when record level hold has an itemtype To test: 1 - set AllowHoldItemTypeSelection to 'Allow' 2 - Find a patron from Library A 3 - Find a record with an item from Library A 4 - Place a title level hold with itemtype specified for a delivery at Library A for patron and record above 5 - perl misc/cronjobs/holds/build_holds_queue.pl 6 - There are warns: Use of uninitialized value in hash element at /kohadevbox/koha/C4/HoldsQueue.pm line 523. Use of uninitialized value in string eq at /kohadevbox/koha/C4/HoldsQueue.pm line 523 7 - Apply this patch 8 - perl misc/cronjobs/holds/build_holds_queue.pl 9 - No more warns! 10 - prove -v t/db_dependent/HoldsQueue.t 11 - All tests pass! Signed-off-by: David Nind --- C4/HoldsQueue.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/HoldsQueue.pm b/C4/HoldsQueue.pm index 14b5dc15ce..87144193ff 100644 --- a/C4/HoldsQueue.pm +++ b/C4/HoldsQueue.pm @@ -530,7 +530,7 @@ sub MapItemsToHoldRequests { && ( ( $item->{hold_fulfillment_policy} eq 'any' ) # Don't fill item level holds that contravene the hold pickup policy at this time || $request->{branchcode} eq $item->{ $item->{hold_fulfillment_policy} } ) && ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match - || $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} ) + || ( $request->{itemnumber} && ( $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} ) ) ) ) { $itemnumber = $item->{itemnumber}; -- 2.11.0