From 632f4600e0d80c27366aa4af603f709f5ada3fe8 Mon Sep 17 00:00:00 2001 From: Petro Vashchuk Date: Wed, 3 Mar 2021 11:32:48 +0200 Subject: [PATCH] Bug 27745: prevent warning for uninitialized value as a hash key When you edit and save items with an empty "c - Shelving location" field, it gets stored into the database as "NULL", which is allowed in the database, and the field is not "required", so this seems expected. But when the search page is rendered, it gets value by location key ($shelflocations->{ $item->{location} }) which gives undef warning. Solved by checking if $item->{location} is perl true. To reproduce: 1) Edit the book or create new one with an empty shelving location. 2) Use the search feature to have that book in the searched list. 3) Check plack-intranet-error.log to find "Use of uninitialized value in hash element" error. 4) Apply the patch. 5) Repeat the search and check the logs again to ensure that error didn't appear again. Signed-off-by: Didier Gautheron Signed-off-by: Marcel de Rooy Signed-off-by: Jonathan Druart (cherry picked from commit ebf123bf139b28d274ade70016c1af0e3aeffb1b) Signed-off-by: Fridolin Somers (cherry picked from commit 4b6e421f1f40bd99cba0c380510824f4a45894cd) Signed-off-by: Andrew Fuerste-Henry --- C4/Search.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Search.pm b/C4/Search.pm index 7fb34eee19..0624e73c17 100644 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -1951,7 +1951,7 @@ sub searchResults { $onloan_items->{$key}->{due_date} = $item->{onloan}; $onloan_items->{$key}->{count}++ if $item->{$hbranch}; $onloan_items->{$key}->{branchname} = $item->{branchname}; - $onloan_items->{$key}->{location} = $shelflocations->{ $item->{location} }; + $onloan_items->{$key}->{location} = $shelflocations->{ $item->{location} } if $item->{location}; $onloan_items->{$key}->{itemcallnumber} = $item->{itemcallnumber}; $onloan_items->{$key}->{description} = $item->{description}; $onloan_items->{$key}->{imageurl} = -- 2.39.5