From 90833119c6e65fc19eb48964ea4eed836f63de76 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 Signed-off-by: David Nind --- Koha/Objects.pm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Koha/Objects.pm b/Koha/Objects.pm index 3ee0a55742..86de594469 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.20.1