diff --git a/Koha/Object.pm b/Koha/Object.pm index f045169418..190b57cde9 100644 --- a/Koha/Object.pm +++ b/Koha/Object.pm @@ -907,19 +907,20 @@ sub AUTOLOAD { my @columns = @{$self->_columns()}; if ( grep { $_ eq $method } @columns ) { + # Lazy definition of get/set accessors like $item->barcode; note that it contains $method my $accessor = sub { my $self = shift; - if ( @_ ) { - $self->_result()->set_column( $method, @_); + if (@_) { + $self->_result()->set_column( $method, @_ ); return $self; } else { - return $self->_result()->get_column( $method ); + return $self->_result()->get_column($method); } }; no strict 'refs'; *{$AUTOLOAD} = $accessor; - return $accessor->($self, @_); + return $accessor->( $self, @_ ); } my @known_methods = qw( is_changed id in_storage get_column discard_changes make_column_dirty );