From d09a3dc52fcd0215ea24094e58921eb2e91110ab Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 19 Aug 2021 11:39:13 -0300 Subject: [PATCH] Bug 28883: Make Koha::Objects->_new_from_dbic honour list context This patch makes the _new_from_dbic method return a list in list context. It does so by leveraging on the existing Koha::Objects->_wrap internal method that _does the right thing_. To test: 1. Apply the regression tests patch 2. Run: $ kshell k$ prove t/db_dependent/Koha/Objects.t => FAIL: Boo! Tests fail! The list is not empty, and it contains... a resultset intead of empty or individual items. 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! Things work as expected! 5. Run: k$ probe t/db_dependent/Koha/Biblio.t => SUCCESS: Tests pass! It uses the chaining: $biblio->items->as_list and doesn't break. It implies that the change won't break any Koha place in which ->as_list is being used on a resultset created by _new_from_dbic 6. Sign off :-D --- Koha/Objects.pm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Koha/Objects.pm b/Koha/Objects.pm index 96b7bc4001f..4980cdf0ada 100644 --- a/Koha/Objects.pm +++ b/Koha/Objects.pm @@ -67,6 +67,11 @@ my $object = Koha::Objects->_new_from_dbic( $resultset ); sub _new_from_dbic { my ( $class, $resultset ) = @_; + + if ( wantarray ) { + return $class->_wrap( $resultset->all() ); + } + my $self = { _resultset => $resultset }; bless( $self, $class ); -- 2.32.0