Bug 27745: prevent warning for uninitialized value as a hash key
authorPetro Vashchuk <stalkernoid@gmail.com>
Wed, 3 Mar 2021 09:32:48 +0000 (11:32 +0200)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 5 Mar 2021 12:48:31 +0000 (13:48 +0100)
commitebf123bf139b28d274ade70016c1af0e3aeffb1b
tree88403b4965b5b5cf5e5a937187cb9074e51ee8dd
parent42a32bc1727dc4723e07a83cc53e5951a09a20b2
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 <didier.gautheron@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
C4/Search.pm