Bug 33188 - Warning in Koha::Items->hidden_in_opac
Summary: Warning in Koha::Items->hidden_in_opac
Status: NEW
Alias: None
Product: Koha
Classification: Unclassified
Component: Architecture, internals, and plumbing (show other bugs)
Version: Main
Hardware: All All
: P5 - low normal (vote)
Assignee: Bugs List
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks: 25790
  Show dependency treegraph
 
Reported: 2023-03-09 21:16 UTC by Fridolin Somers
Modified: 2023-03-09 22:32 UTC (History)
1 user (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fridolin Somers 2023-03-09 21:16:19 UTC
In Koha::Items->hidden_in_opac there is often a warning :
  Use of uninitialized value in string eq at /home/koha/src/Koha/Item.pm line 633.
This the line :
  if ( any { $self->$field eq $_ } @{ $rules->{$field} } ) {

When $self->$field is undef, the eq creates the warn.
This can happen with any nillable field like items.location not yet defined after item acquisition.
Comment 1 Fridolin Somers 2023-03-09 21:18:36 UTC
Not sure how to fix.
Do we consider undef like empty string in order to allow hiding undef ?
Comment 2 David Cook 2023-03-09 22:32:07 UTC
Shouldn't it be updated to one of the following:

1.
if ( any { $self->$field && $self->$field eq $_ } @{ $rules->{$field} } ) {

2.
if ( any { my $field = $self->$field; ($field && $field eq $_ ) ? 1 : 0; } @{ $rules->{$field} } ) {


Or am I missing something?