@@ -, +, @@ --- C4/Acquisition.pm | 2 +- C4/Auth.pm | 8 ++++---- C4/Circulation.pm | 2 +- C4/HoldsQueue.pm | 2 +- C4/ILSDI/Services.pm | 2 +- C4/ItemCirculationAlertPreference.pm | 4 ++-- C4/Members.pm | 2 +- C4/Overdues.pm | 2 +- C4/Reserves.pm | 8 ++++---- C4/SIP/ILS/Patron.pm | 2 +- C4/Search.pm | 4 ++-- C4/Serials.pm | 2 +- C4/XSLT.pm | 2 +- Koha/AudioAlerts.pm | 6 +++--- Koha/AuthorisedValues.pm | 2 +- Koha/BackgroundJob/BatchUpdateBiblio.pm | 2 +- Koha/Club.pm | 2 +- Koha/Clubs.pm | 2 +- Koha/Library/Group.pm | 6 +++--- Koha/Library/Groups.pm | 2 +- Koha/Objects/Mixin/AdditionalFields.pm | 2 +- Koha/Patron.pm | 8 ++++---- Koha/Patron/Modification.pm | 2 +- Koha/REST/V1/Biblios.pm | 4 ++-- Koha/REST/V1/Patrons.pm | 2 +- Koha/SearchEngine/Elasticsearch.pm | 4 ++-- Koha/Template/Plugin/Branches.pm | 2 +- Koha/Template/Plugin/Desks.pm | 2 +- Koha/Uploader.pm | 4 ++-- acqui/addorderiso2709.pl | 4 ++-- acqui/basket.pl | 4 ++-- acqui/basketheader.pl | 4 ++-- acqui/booksellers.pl | 2 +- acqui/duplicate_orders.pl | 2 +- acqui/histsearch.pl | 2 +- acqui/invoices.pl | 2 +- acqui/lateorders.pl | 2 +- acqui/neworderempty.pl | 4 ++-- acqui/orderreceive.pl | 2 +- acqui/supplier.pl | 2 +- acqui/transferorder.pl | 2 +- admin/audio_alerts.pl | 2 +- admin/auth_subfields_structure.pl | 2 +- admin/authorised_values.pl | 4 ++-- admin/branches.pl | 2 +- admin/classsources.pl | 4 ++-- admin/item_circulation_alerts.pl | 4 ++-- admin/koha2marclinks.pl | 2 +- admin/marc_subfields_structure.pl | 4 ++-- admin/overdrive.pl | 2 +- admin/preferences.pl | 2 +- admin/sms_providers.pl | 2 +- admin/transport-cost-matrix.pl | 2 +- basket/basket.pl | 2 +- basket/downloadcart.pl | 2 +- catalogue/issuehistory.pl | 4 ++-- catalogue/item-export.pl | 2 +- catalogue/itemsearch.pl | 4 ++-- catalogue/search.pl | 2 +- cataloguing/editor.pl | 2 +- cataloguing/value_builder/cn_browser.pl | 2 +- cataloguing/value_builder/marc21_linking_section.pl | 2 +- cataloguing/value_builder/unimarc_field_4XX.pl | 2 +- circ/article-requests.pl | 6 +++--- circ/circulation.pl | 8 ++++---- circ/transfers_to_send.pl | 2 +- clubs/clubs.pl | 4 ++-- clubs/patron-clubs-tab.pl | 4 ++-- ill/ill-requests.pl | 2 +- members/apikeys.pl | 4 ++-- members/boraccount.pl | 2 +- members/mancredit.pl | 2 +- members/maninvoice.pl | 2 +- members/memberentry.pl | 4 ++-- members/members-home.pl | 2 +- members/members-update.pl | 2 +- members/moremember.pl | 8 ++++---- members/paycollect.pl | 2 +- members/print_overdues.pl | 2 +- members/update-child.pl | 2 +- misc/cronjobs/delete_records_via_leader.pl | 2 +- misc/cronjobs/reconcile_balances.pl | 2 +- opac/clubs/clubs-tab.pl | 4 ++-- opac/opac-account.pl | 2 +- opac/opac-basket.pl | 2 +- opac/opac-downloadcart.pl | 2 +- opac/opac-downloadshelf.pl | 2 +- opac/opac-memberentry.pl | 4 ++-- opac/opac-messaging.pl | 2 +- opac/opac-search.pl | 2 +- opac/opac-shelves.pl | 2 +- opac/opac-user.pl | 4 ++-- reports/acquisitions_stats.pl | 2 +- reports/borrowers_stats.pl | 2 +- reports/issues_stats.pl | 2 +- reports/reserves_stats.pl | 4 ++-- reserve/request.pl | 2 +- serials/acqui-search-result.pl | 2 +- serials/claims.pl | 2 +- serials/serials-search.pl | 4 ++-- serials/subscription-add.pl | 2 +- serials/subscription-batchedit.pl | 4 ++-- serials/subscription-detail.pl | 2 +- suggestion/suggestion.pl | 2 +- t/db_dependent/AudioAlerts.t | 4 ++-- t/db_dependent/AuthorisedValues.t | 8 ++++---- t/db_dependent/Budgets.t | 2 +- t/db_dependent/Koha.t | 4 ++-- t/db_dependent/Koha/Objects/Mixin/AdditionalFields.t | 12 ++++++------ t/db_dependent/LibraryGroups.t | 8 ++++---- t/db_dependent/Overdues.t | 2 +- t/db_dependent/Patrons.t | 2 +- t/db_dependent/Reserves.t | 2 +- t/db_dependent/Upload.t | 6 +++--- tools/additional-contents.pl | 2 +- tools/batch_delete_records.pl | 2 +- tools/batch_record_modification.pl | 2 +- tools/export.pl | 2 +- tools/import_borrowers.pl | 2 +- tools/inventory.pl | 4 ++-- tools/modborrowers.pl | 2 +- tools/overduerules.pl | 2 +- tools/viewlog.pl | 2 +- virtualshelves/downloadshelf.pl | 2 +- virtualshelves/shelves.pl | 2 +- 125 files changed, 187 insertions(+), 187 deletions(-) --- a/C4/Acquisition.pm +++ a/C4/Acquisition.pm @@ -2291,7 +2291,7 @@ sub GetHistory { push @query_params, @$ordernumbers; } if ( @$additional_fields ) { - my @baskets = Koha::Acquisition::Baskets->filter_by_additional_fields($additional_fields); + my @baskets = Koha::Acquisition::Baskets->filter_by_additional_fields($additional_fields)->as_list; return [] unless @baskets; --- a/C4/Auth.pm +++ a/C4/Auth.pm @@ -528,7 +528,7 @@ sub get_template_and_user { EnableBorrowerFiles => C4::Context->preference('EnableBorrowerFiles'), UseCourseReserves => C4::Context->preference("UseCourseReserves"), useDischarge => C4::Context->preference('useDischarge'), - pending_checkout_notes => scalar Koha::Checkouts->search({ noteseen => 0 }), + pending_checkout_notes => Koha::Checkouts->search({ noteseen => 0 }), ); } else { @@ -570,7 +570,7 @@ sub get_template_and_user { $opac_name = C4::Context->userenv->{'branch'}; } - my @search_groups = Koha::Library::Groups->get_search_groups({ interface => 'opac' }); + my @search_groups = Koha::Library::Groups->get_search_groups({ interface => 'opac' })->as_list; $template->param( AnonSuggestions => "" . C4::Context->preference("AnonSuggestions"), LibrarySearchGroups => \@search_groups, @@ -1144,7 +1144,7 @@ sub checkauth { $register_id = $register->id if ($register); $register_name = $register->name if ($register); } - my $branches = { map { $_->branchcode => $_->unblessed } Koha::Libraries->search }; + my $branches = { map { $_->branchcode => $_->unblessed } Koha::Libraries->search->as_list }; if ( $type ne 'opac' and C4::Context->preference('AutoLocation') ) { # we have to check they are coming from the right ip range @@ -1559,7 +1559,7 @@ sub check_api_auth { my $library = Koha::Libraries->find($branchcode); $branchname = $library? $library->branchname: ''; } - my $branches = { map { $_->branchcode => $_->unblessed } Koha::Libraries->search }; + my $branches = { map { $_->branchcode => $_->unblessed } Koha::Libraries->search->as_list }; foreach my $br ( keys %$branches ) { # now we work with the treatment of ip --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -837,7 +837,7 @@ sub CanBookBeIssued { my $no_issues_charge_guarantees = C4::Context->preference("NoIssuesChargeGuarantees"); $no_issues_charge_guarantees = undef unless looks_like_number( $no_issues_charge_guarantees ); if ( defined $no_issues_charge_guarantees ) { - my @guarantees = map { $_->guarantee } $patron->guarantee_relationships(); + my @guarantees = map { $_->guarantee } $patron->guarantee_relationships->as_list; my $guarantees_non_issues_charges = 0; foreach my $g ( @guarantees ) { $guarantees_non_issues_charges += $g->account->non_issues_charges; --- a/C4/HoldsQueue.pm +++ a/C4/HoldsQueue.pm @@ -429,7 +429,7 @@ sub MapItemsToHoldRequests { map { $_->{_object} = Koha::Items->find( $_->{itemnumber} ) } @$available_items; my $libraries = {}; - map { $libraries->{$_->id} = $_ } Koha::Libraries->search(); + map { $libraries->{$_->id} = $_ } Koha::Libraries->search->as_list; # group available items by itemnumber my %items_by_itemnumber = map { $_->{itemnumber} => $_ } @$available_items; --- a/C4/ILSDI/Services.pm +++ a/C4/ILSDI/Services.pm @@ -548,7 +548,7 @@ sub GetPatronInfo { value_description => $_->description, # Awkward retro-compability... } : () - } $patron->extended_attributes->search + } $patron->extended_attributes->search->as_list ]; } --- a/C4/ItemCirculationAlertPreference.pm +++ a/C4/ItemCirculationAlertPreference.pm @@ -331,8 +331,8 @@ sub grid { my ($class, $where) = @_; my @branch_prefs = $class->find($where); my @default_prefs = $class->find({ branchcode => '*', notification => $where->{notification} }); - my @cc = Koha::Patron::Categories->search_with_library_limits; - my @it = Koha::ItemTypes->search; + my @cc = Koha::Patron::Categories->search_with_library_limits->as_list; + my @it = Koha::ItemTypes->search->as_list; my $notification = $where->{notification}; my %disabled = map { my $key = $_->categorycode . "-" . $_->item_type . "-" . $notification; --- a/C4/Members.pm +++ a/C4/Members.pm @@ -167,7 +167,7 @@ sub patronflags { $no_issues_charge_guarantees = undef unless looks_like_number( $no_issues_charge_guarantees ); if ( defined $no_issues_charge_guarantees ) { my $p = Koha::Patrons->find( $patroninformation->{borrowernumber} ); - my @guarantees = map { $_->guarantee } $p->guarantee_relationships; + my @guarantees = map { $_->guarantee } $p->guarantee_relationships->as_list; my $guarantees_non_issues_charges = 0; foreach my $g ( @guarantees ) { $guarantees_non_issues_charges += $g->account->non_issues_charges; --- a/C4/Overdues.pm +++ a/C4/Overdues.pm @@ -652,7 +652,7 @@ sub GetBranchcodesWithOverdueRules { |); if ( $branchcodes->[0] eq '' ) { # If a default rule exists, all branches should be returned - return map { $_->branchcode } Koha::Libraries->search({}, { order_by => 'branchname' }); + return map { $_->branchcode } Koha::Libraries->search({}, { order_by => 'branchname' })->as_list; } return @$branchcodes; } --- a/C4/Reserves.pm +++ a/C4/Reserves.pm @@ -983,7 +983,7 @@ Unsuspends all suspended reserves with a suspend_until date from before today. sub AutoUnsuspendReserves { my $today = dt_from_string(); - my @holds = Koha::Holds->search( { suspend_until => { '<=' => $today->ymd() } } ); + my @holds = Koha::Holds->search( { suspend_until => { '<=' => $today->ymd() } } )->as_list; map { $_->resume() } @holds; } @@ -1408,7 +1408,7 @@ AllowHoldsOnDamagedItems or 'holdallowed' own/sibling library) sub ItemsAnyAvailableAndNotRestricted { my $param = shift; - my @items = Koha::Items->search( { biblionumber => $param->{biblionumber} } ); + my @items = Koha::Items->search( { biblionumber => $param->{biblionumber} } )->as_list; foreach my $i (@items) { my $reserves_control_branch = @@ -1547,7 +1547,7 @@ sub SuspendAll { $params->{borrowernumber} = $borrowernumber if $borrowernumber; $params->{biblionumber} = $biblionumber if $biblionumber; - my @holds = Koha::Holds->search($params); + my @holds = Koha::Holds->search($params)->as_list; if ($suspend) { map { $_->suspend_hold($suspend_until) } @holds; @@ -2281,7 +2281,7 @@ sub GetMaxPatronHoldsForRecord { my ( $borrowernumber, $biblionumber ) = @_; my $patron = Koha::Patrons->find($borrowernumber); - my @items = Koha::Items->search( { biblionumber => $biblionumber } ); + my @items = Koha::Items->search( { biblionumber => $biblionumber } )->as_list; my $controlbranch = C4::Context->preference('ReservesControlBranch'); --- a/C4/SIP/ILS/Patron.pm +++ a/C4/SIP/ILS/Patron.pm @@ -565,7 +565,7 @@ sub build_patron_attributes_string { borrowernumber => $self->{borrowernumber}, code => $a->{code} } - ); + )->as_list; foreach my $attribute ( @attributes ) { my $value = $attribute->attribute(); --- a/C4/Search.pm +++ a/C4/Search.pm @@ -307,7 +307,7 @@ sub getRecords { my $results_hashref = (); # TODO simplify this structure ( { branchcode => $branchname } is enought) and remove this parameter - $branches ||= { map { $_->branchcode => { branchname => $_->branchname } } Koha::Libraries->search }; + $branches ||= { map { $_->branchcode => { branchname => $_->branchname } } Koha::Libraries->search->as_list }; # Initialize variables for the faceted results objects my $facets_counter = {}; @@ -1638,7 +1638,7 @@ sub searchResults { }); #Build branchnames hash - my %branches = map { $_->branchcode => $_->branchname } Koha::Libraries->search({}, { order_by => 'branchname' }); + my %branches = map { $_->branchcode => $_->branchname } Koha::Libraries->search({}, { order_by => 'branchname' })->as_list; # FIXME - We build an authorised values hash here, using the default framework # though it is possible to have different authvals for different fws. --- a/C4/Serials.pm +++ a/C4/Serials.pm @@ -528,7 +528,7 @@ sub SearchSubscriptions { my $additional_fields = $args->{additional_fields} // []; my $matching_record_ids_for_additional_fields = []; if ( @$additional_fields ) { - my @subscriptions = Koha::Subscriptions->filter_by_additional_fields($additional_fields); + my @subscriptions = Koha::Subscriptions->filter_by_additional_fields($additional_fields)->as_list; return () unless @subscriptions; --- a/C4/XSLT.pm +++ a/C4/XSLT.pm @@ -342,7 +342,7 @@ sub buildKohaItemsNamespace { my $ccodes = { map { $_->{authorised_value} => $_->{opac_description} } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => "", kohafield => 'items.ccode' } ) }; - my %branches = map { $_->branchcode => $_->branchname } Koha::Libraries->search({}, { order_by => 'branchname' }); + my %branches = map { $_->branchcode => $_->branchname } Koha::Libraries->search({}, { order_by => 'branchname' })->as_list; my $itemtypes = { map { $_->{itemtype} => $_ } @{ Koha::ItemTypes->search->unblessed } }; my $xml = ''; --- a/Koha/AudioAlerts.pm +++ a/Koha/AudioAlerts.pm @@ -91,14 +91,14 @@ sub move { if ( $where eq 'up' ) { unless ( $alert->precedence() == 1 ) { - my ($other) = $self->search( { precedence => $alert->precedence() - 1 } ); + my ($other) = $self->search( { precedence => $alert->precedence() - 1 } )->as_list; $other->precedence( $alert->precedence() )->store(); $alert->precedence( $alert->precedence() - 1 )->store(); } } elsif ( $where eq 'down' ) { unless ( $alert->precedence() == $self->get_last_precedence() ) { - my ($other) = $self->search( { precedence => $alert->precedence() + 1 } ); + my ($other) = $self->search( { precedence => $alert->precedence() + 1 } )->as_list; $other->precedence( $alert->precedence() )->store(); $alert->precedence( $alert->precedence() + 1 )->store(); } @@ -125,7 +125,7 @@ and to have no gaps sub fix_precedences { my ($self) = @_; - my @alerts = $self->search(); + my @alerts = $self->search->as_list; my $i = 1; map { $_->precedence( $i++ )->store() } @alerts; --- a/Koha/AuthorisedValues.pm +++ a/Koha/AuthorisedValues.pm @@ -126,7 +126,7 @@ sub get_descriptions_by_koha_field { my $cached = $memory_cache->get_from_cache($cache_key); return @$cached if $cached; - my @avs = $self->search_by_koha_field($params); + my @avs = $self->search_by_koha_field($params)->as_list; my @descriptions = map { { authorised_value => $_->authorised_value, --- a/Koha/BackgroundJob/BatchUpdateBiblio.pm +++ a/Koha/BackgroundJob/BatchUpdateBiblio.pm @@ -155,7 +155,7 @@ sub additional_report { my $loggedinuser = C4::Context->userenv ? C4::Context->userenv->{'number'} : undef; return { - lists => scalar Koha::Virtualshelves->search( + lists => Koha::Virtualshelves->search( [ { public => 0, owner => $loggedinuser }, { public => 1 } --- a/Koha/Club.pm +++ a/Koha/Club.pm @@ -71,7 +71,7 @@ sub club_enrollments { return unless $self->id(); - return scalar Koha::Club::Enrollments->search( { club_id => $self->id(), date_canceled => undef } ); + return Koha::Club::Enrollments->search( { club_id => $self->id(), date_canceled => undef } ); } =head3 club_fields --- a/Koha/Clubs.pm +++ a/Koha/Clubs.pm @@ -50,7 +50,7 @@ sub get_enrollable { my $borrower = $params->{borrower}; if ($borrower) { delete( $params->{borrower} ); - my @enrollments = $borrower->get_club_enrollments(); + my @enrollments = $borrower->get_club_enrollments->as_list; if (@enrollments) { $params->{'me.id'} = { -not_in => [ map { $_->club()->id() } @enrollments ] }; } --- a/Koha/Library/Group.pm +++ a/Koha/Library/Group.pm @@ -96,7 +96,7 @@ sub library { =head3 libraries -my @libraries = $group->libraries( { [invert => 1] } ); +my $libraries = $group->libraries( { [invert => 1] } ); Returns the libraries set as direct children of this group. @@ -117,7 +117,7 @@ sub libraries { branchcode => { '!=' => undef }, }, { order_by => 'branchcode' } - ); + )->as_list; my @branchcodes = map { $_->branchcode } @children; @@ -159,7 +159,7 @@ sub all_libraries { =head3 libraries_not_direct_children -my @libraries = $group->libraries_not_direct_children(); +my $libraries = $group->libraries_not_direct_children(); Returns the libraries *not* set as direct children of this group --- a/Koha/Library/Groups.pm +++ a/Koha/Library/Groups.pm @@ -48,7 +48,7 @@ sub get_root_groups { =head3 get_search_groups -my @search_groups = $self->get_search_groups({[interface => 'staff' || 'opac']})) +my $search_groups = $self->get_search_groups({[interface => 'staff' || 'opac']})) Returns search groups for the specified interface. Defaults to OPAC if no interface is specified. --- a/Koha/Objects/Mixin/AdditionalFields.pm +++ a/Koha/Objects/Mixin/AdditionalFields.pm @@ -28,7 +28,7 @@ Koha::Objects::Mixin::AdditionalFields =head3 filter_by_additional_fields - my @objects = Koha::Foos->filter_by_additional_fields([ + my $objects = Koha::Foos->filter_by_additional_fields([ { id => 1, value => 'foo', --- a/Koha/Patron.pm +++ a/Koha/Patron.pm @@ -395,11 +395,11 @@ sub delete { # This pref should then govern the results of other routines/methods such as # Koha::Virtualshelf->new->delete too. # FIXME Could be $patron->get_lists - $_->delete for Koha::Virtualshelves->search( { owner => $self->borrowernumber } ); + $_->delete for Koha::Virtualshelves->search( { owner => $self->borrowernumber } )->as_list; # We cannot have a FK on borrower_modifications.borrowernumber, the table is also used # for patron selfreg - $_->delete for Koha::Patron::Modifications->search( { borrowernumber => $self->borrowernumber } ); + $_->delete for Koha::Patron::Modifications->search( { borrowernumber => $self->borrowernumber } )->as_list; $self->SUPER::delete; @@ -1207,7 +1207,7 @@ sub get_overdues { =head3 get_routing_lists -my @routinglists = $patron->get_routing_lists +my $routinglists = $patron->get_routing_lists Returns the routing lists a patron is subscribed to. @@ -1779,7 +1779,7 @@ sub _anonymize_column { =head3 add_guarantor - my @relationships = $patron->add_guarantor( + my $relationship = $patron->add_guarantor( { borrowernumber => $borrowernumber, relationships => $relationship, --- a/Koha/Patron/Modification.pm +++ a/Koha/Patron/Modification.pm @@ -127,7 +127,7 @@ sub approve { { borrowernumber => $patron->borrowernumber, code => $code } - ); + )->as_list; } foreach my $attr ( @{$extended_attributes} ) { $attr->{attribute} = exists $attr->{attribute} ? $attr->{attribute} : $attr->{value}; --- a/Koha/REST/V1/Biblios.pm +++ a/Koha/REST/V1/Biblios.pm @@ -292,8 +292,8 @@ sub get_checkouts { my $checkouts = ($checked_in) - ? $c->objects->search( scalar $biblio->old_checkouts ) - : $c->objects->search( scalar $biblio->current_checkouts ); + ? $c->objects->search( $biblio->old_checkouts ) + : $c->objects->search( $biblio->current_checkouts ); return $c->render( status => 200, --- a/Koha/REST/V1/Patrons.pm +++ a/Koha/REST/V1/Patrons.pm @@ -75,7 +75,7 @@ sub get { return try { my $patron_id = $c->validation->param('patron_id'); - my $patron = $c->objects->find( scalar Koha::Patrons->search_limited, $patron_id ); + my $patron = $c->objects->find( Koha::Patrons->search_limited, $patron_id ); unless ($patron) { return $c->render( --- a/Koha/SearchEngine/Elasticsearch.pm +++ a/Koha/SearchEngine/Elasticsearch.pm @@ -1354,10 +1354,10 @@ sub get_facetable_fields { my @search_field_names = qw( author itype location su-geo title-series subject ccode holdingbranch homebranch ln ); my @faceted_fields = Koha::SearchFields->search( { name => { -in => \@search_field_names }, facet_order => { '!=' => undef } }, { order_by => ['facet_order'] } - ); + )->as_list; my @not_faceted_fields = Koha::SearchFields->search( { name => { -in => \@search_field_names }, facet_order => undef }, { order_by => ['facet_order'] } - ); + )->as_list; # This could certainly be improved return ( @faceted_fields, @not_faceted_fields ); } --- a/Koha/Template/Plugin/Branches.pm +++ a/Koha/Template/Plugin/Branches.pm @@ -132,7 +132,7 @@ sub pickup_locations { if defined $biblio; } } else { - @libraries = Koha::Libraries->search( { pickup_location => 1 }, { order_by => ['branchname'] } ) + @libraries = Koha::Libraries->search( { pickup_location => 1 }, { order_by => ['branchname'] } )->as_list unless @libraries; } --- a/Koha/Template/Plugin/Desks.pm +++ a/Koha/Template/Plugin/Desks.pm @@ -80,7 +80,7 @@ sub ListForLibrary { my ($self) = @_; my $branch_limit = C4::Context->userenv ? C4::Context->userenv->{"branch"} : ""; - return scalar Koha::Desks->search( + return Koha::Desks->search( { branchcode => $branch_limit }, { order_by => { '-asc' => 'desk_name' } } ); --- a/Koha/Uploader.pm +++ a/Koha/Uploader.pm @@ -36,8 +36,8 @@ Koha::Uploader - Facilitate file uploads (temporary and permanent) # Do something with $upload->count, $upload->result or $upload->err # get some upload records (in staff) via Koha::UploadedFiles - my @uploads1 = Koha::UploadedFiles->search({ filename => $name }); - my @uploads2 = Koha::UploadedFiles->search_term({ term => $term }); + my $uploads1 = Koha::UploadedFiles->search({ filename => $name }); + my $uploads2 = Koha::UploadedFiles->search_term({ term => $term }); # staff download (via Koha::UploadedFile[s]) my $rec = Koha::UploadedFiles->find( $id ); --- a/acqui/addorderiso2709.pl +++ a/acqui/addorderiso2709.pl @@ -97,7 +97,7 @@ if ($op eq ""){ } elsif ($op eq "batch_details"){ #display lines inside the selected batch # get currencies (for change rates calcs if needed) - my @currencies = Koha::Acquisition::Currencies->search; + my @currencies = Koha::Acquisition::Currencies->search->as_list; $template->param("batch_details" => 1, "basketno" => $cgiparams->{'basketno'}, @@ -611,7 +611,7 @@ sub import_biblios_list { my $overlay_action = GetImportBatchOverlayAction($import_batch_id); my $nomatch_action = GetImportBatchNoMatchAction($import_batch_id); my $item_action = GetImportBatchItemAction($import_batch_id); - my @itypes = Koha::ItemTypes->search; + my @itypes = Koha::ItemTypes->search->as_list; $template->param(biblio_list => \@list, num_results => $num_records, import_batch_id => $import_batch_id, --- a/acqui/basket.pl +++ a/acqui/basket.pl @@ -424,8 +424,8 @@ if ( $op eq 'list' ) { unclosable => @orders || @cancelledorders ? $basket->{is_standing} : 1, has_budgets => $has_budgets, duplinbatch => $duplinbatch, - csv_profiles => [ Koha::CsvProfiles->search({ type => 'sql', used_for => 'export_basket' }) ], - available_additional_fields => [ Koha::AdditionalFields->search( { tablename => 'aqbasket' } ) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'sql', used_for => 'export_basket' })->as_list ], + available_additional_fields => [ Koha::AdditionalFields->search( { tablename => 'aqbasket' } )->as_list ], additional_field_values => { map { $_->field->name => $_->value } Koha::Acquisition::Baskets->find($basketno)->additional_field_values->as_list }, --- a/acqui/basketheader.pl +++ a/acqui/basketheader.pl @@ -74,7 +74,7 @@ my $basket; my $op = $input->param('op'); my $is_an_edit = $input->param('is_an_edit'); -$template->param( available_additional_fields => [ Koha::AdditionalFields->search( { tablename => 'aqbasket' } ) ] ); +$template->param( available_additional_fields => [ Koha::AdditionalFields->search( { tablename => 'aqbasket' } )->as_list ] ); if ( $op eq 'add_form' ) { my @contractloop; @@ -118,7 +118,7 @@ if ( $op eq 'add_form' ) { } my @booksellers = Koha::Acquisition::Booksellers->search( undef, - { order_by => { -asc => 'name' } } ); + { order_by => { -asc => 'name' } } )->as_list; $template->param( add_form => 1, basketname => $basket->{'basketname'}, --- a/acqui/booksellers.pl +++ a/acqui/booksellers.pl @@ -83,7 +83,7 @@ if ($booksellerid) { } else { @suppliers = Koha::Acquisition::Booksellers->search( { name => { -like => "%$supplier%" } }, - { order_by => { -asc => 'name' } } ); + { order_by => { -asc => 'name' } } )->as_list; } my $supplier_count = @suppliers; --- a/acqui/duplicate_orders.pl +++ a/acqui/duplicate_orders.pl @@ -117,7 +117,7 @@ elsif ( $op eq 'batch_edit' ) { @{$budget_loop} = sort { uc( $a->{b_txt} ) cmp uc( $b->{b_txt} ) } @{$budget_loop}; - my @currencies = Koha::Acquisition::Currencies->search; + my @currencies = Koha::Acquisition::Currencies->search->as_list; $template->param( currencies => \@currencies, budget_loop => $budget_loop, --- a/acqui/histsearch.pl +++ a/acqui/histsearch.pl @@ -99,7 +99,7 @@ unless ( $input->param('from') ) { } $filters->{from_placed_on} = output_pref( { dt => $from_placed_on, dateformat => 'iso', dateonly => 1 } ); $filters->{to_placed_on} = output_pref( { dt => $to_placed_on, dateformat => 'iso', dateonly => 1 } ); -my @additional_fields = Koha::AdditionalFields->search( { tablename => 'aqbasket', searchable => 1 } ); +my @additional_fields = Koha::AdditionalFields->search( { tablename => 'aqbasket', searchable => 1 } )->as_list; $template->param( available_additional_fields => \@additional_fields ); my @additional_field_filters; foreach my $additional_field (@additional_fields) { --- a/acqui/invoices.pl +++ a/acqui/invoices.pl @@ -87,7 +87,7 @@ if ( $op and $op eq 'do_search' ) { } # Build suppliers list -my @suppliers = Koha::Acquisition::Booksellers->search( undef, { order_by => { -asc => 'name' } } ); +my @suppliers = Koha::Acquisition::Booksellers->search( undef, { order_by => { -asc => 'name' } } )->as_list; my $suppliers_loop = []; my $suppliername; foreach (@suppliers) { --- a/acqui/lateorders.pl +++ a/acqui/lateorders.pl @@ -157,6 +157,6 @@ $template->param( estimateddeliverydatefrom => $estimateddeliverydatefrom, estimateddeliverydateto => $estimateddeliverydateto, intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), - csv_profiles => [ Koha::CsvProfiles->search({ type => 'sql', used_for => 'late_orders' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'sql', used_for => 'late_orders' })->as_list ], ); output_html_with_http_headers $input, $cookie, $template->output; --- a/acqui/neworderempty.pl +++ a/acqui/neworderempty.pl @@ -326,7 +326,7 @@ $template->param( catalog_details => \@catalog_details, ); my $suggestion; $suggestion = GetSuggestionInfo($suggestionid) if $suggestionid; -my @currencies = Koha::Acquisition::Currencies->search; +my @currencies = Koha::Acquisition::Currencies->search->as_list; my $active_currency = Koha::Acquisition::Currencies->get_active; # build bookfund list @@ -367,7 +367,7 @@ if ($basketobj->effective_create_items eq 'ordering' && !$ordernumber) { # Get the item types list, but only if item_level_itype is YES. Otherwise, it will be in the item, no need to display it in the biblio my @itemtypes; -@itemtypes = Koha::ItemTypes->search unless C4::Context->preference('item-level_itypes'); +@itemtypes = Koha::ItemTypes->search->as_list unless C4::Context->preference('item-level_itypes'); if ( defined $from_subscriptionid ) { # Get the last received order for this subscription --- a/acqui/orderreceive.pl +++ a/acqui/orderreceive.pl @@ -152,7 +152,7 @@ $template->param( freight => $freight, name => $bookseller->name, active_currency => $active_currency, - currencies => scalar $currencies->search({ rate => { '!=' => 1 } }), + currencies => $currencies->search({ rate => { '!=' => 1 } }), invoiceincgst => $bookseller->invoiceincgst, bookfund => $budget->{budget_name}, creator => $creator, --- a/acqui/supplier.pl +++ a/acqui/supplier.pl @@ -96,7 +96,7 @@ if ( $op eq 'display' ) { print $query->redirect('/cgi-bin/koha/acqui/acqui-home.pl'); exit; } else { - my @currencies = Koha::Acquisition::Currencies->search; + my @currencies = Koha::Acquisition::Currencies->search->as_list; # get option values from TaxRates syspref my @gst_values = map { --- a/acqui/transferorder.pl +++ a/acqui/transferorder.pl @@ -119,7 +119,7 @@ if( $basketno && $ordernumber) { if( $op eq "do_search" ) { my @booksellers = Koha::Acquisition::Booksellers->search( { name => { -like => "%$query%" } }, - { order_by => { -asc => 'name' } } ); + { order_by => { -asc => 'name' } } )->as_list; $template->param( query => $query, do_search => 1, --- a/admin/audio_alerts.pl +++ a/admin/audio_alerts.pl @@ -61,6 +61,6 @@ if (@delete) { Koha::AudioAlerts->fix_precedences(); } -$template->param( AudioAlertsPage => 1, audio_alerts => scalar Koha::AudioAlerts->search() ); +$template->param( AudioAlertsPage => 1, audio_alerts => Koha::AudioAlerts->search() ); output_html_with_http_headers $cgi, $cookie, $template->output; --- a/admin/auth_subfields_structure.pl +++ a/admin/auth_subfields_structure.pl @@ -78,7 +78,7 @@ if ($op eq 'add_form') { push @authorised_value_categories, 'itemtypes'; # build thesaurus categories list - my @authtypes = uniq( "", map { $_->authtypecode } Koha::Authority::Types->search ); + my @authtypes = uniq( "", map { $_->authtypecode } Koha::Authority::Types->search->as_list ); # build value_builder list my @value_builder=(''); --- a/admin/authorised_values.pl +++ a/admin/authorised_values.pl @@ -212,7 +212,7 @@ $template->param( if ( $op eq 'list' ) { # build categories list - my @categories = Koha::AuthorisedValueCategories->search({ category_name => { -not_in => ['', 'branches', 'itemtypes', 'cn_source']}}, { order_by => ['category_name'] } ); + my @categories = Koha::AuthorisedValueCategories->search({ category_name => { -not_in => ['', 'branches', 'itemtypes', 'cn_source']}}, { order_by => ['category_name'] } )->as_list; my @category_list; for my $category ( @categories ) { push( @category_list, $category->category_name ); @@ -220,7 +220,7 @@ if ( $op eq 'list' ) { $searchfield ||= $category_list[0]; - my @avs_by_category = Koha::AuthorisedValues->new->search( { category => $searchfield } ); + my @avs_by_category = Koha::AuthorisedValues->new->search( { category => $searchfield } )->as_list; my @loop_data = (); # builds value list for my $av ( @avs_by_category ) { --- a/admin/branches.pl +++ a/admin/branches.pl @@ -55,7 +55,7 @@ if ( $op eq 'add_form' ) { $template->param( selected_smtp_server => $library->smtp_server ); } - my @smtp_servers = Koha::SMTP::Servers->search; + my @smtp_servers = Koha::SMTP::Servers->search->as_list; $template->param( library => $library, --- a/admin/classsources.pl +++ a/admin/classsources.pl @@ -60,8 +60,8 @@ if ( $op eq "add_source" ) { $cn_source ? Koha::ClassSources->find($cn_source) : undef; $template->param( class_source => $class_source, - sort_rules => scalar Koha::ClassSortRules->search, - split_rules => scalar Koha::ClassSplitRules->search, + sort_rules => Koha::ClassSortRules->search, + split_rules => Koha::ClassSplitRules->search, ); } elsif ( $op eq "add_source_validate" ) { --- a/admin/item_circulation_alerts.pl +++ a/admin/item_circulation_alerts.pl @@ -47,8 +47,8 @@ sub show { ); my $branch = $input->param('branch') || '*'; - my @categories = Koha::Patron::Categories->search_with_library_limits; - my @item_types = Koha::ItemTypes->search; + my @categories = Koha::Patron::Categories->search_with_library_limits->as_list; + my @item_types = Koha::ItemTypes->search->as_list; my $grid_checkout = $preferences->grid({ branchcode => $branch, notification => 'CHECKOUT' }); my $grid_checkin = $preferences->grid({ branchcode => $branch, notification => 'CHECKIN' }); --- a/admin/koha2marclinks.pl +++ a/admin/koha2marclinks.pl @@ -91,7 +91,7 @@ my @loop_data; foreach my $col ( @cols ) { my $found; my $readonly = $col =~ /\.(biblio|biblioitem|item)number$/; - foreach my $row ( $kohafields->search({ kohafield => $col }) ) { + foreach my $row ( $kohafields->search({ kohafield => $col })->as_list ) { $found = 1; push @loop_data, { kohafield => $col, --- a/admin/marc_subfields_structure.pl +++ a/admin/marc_subfields_structure.pl @@ -97,11 +97,11 @@ if ( $op eq 'add_form' ) { $sth2->finish; $sth2 = $dbh->prepare("select distinct category from authorised_values"); $sth2->execute; - my @av_cat = Koha::AuthorisedValueCategories->search; + my @av_cat = Koha::AuthorisedValueCategories->search->as_list; my @authorised_values = map { $_->category_name } @av_cat; # build thesaurus categories list - my @authtypes = uniq( "", map { $_->authtypecode } Koha::Authority::Types->search ); + my @authtypes = uniq( "", map { $_->authtypecode } Koha::Authority::Types->search->as_list ); # build value_builder list my @value_builder = (''); --- a/admin/overdrive.pl +++ a/admin/overdrive.pl @@ -55,7 +55,7 @@ if ( $op && $op eq 'update' ) { } } -my @branches = Koha::Libraries->search(); +my @branches = Koha::Libraries->search->as_list; my @branch_od_info; foreach my $branch ( @branches ){ my $od_info = Koha::Library::OverDriveInfos->find($branch->branchcode); --- a/admin/preferences.pl +++ a/admin/preferences.pl @@ -99,7 +99,7 @@ sub _get_chunk { } elsif ( $options{'choices'} eq 'staff-templates' ) { $options{'choices'} = { map { $_ => $_ } getallthemes( 'intranet' ) } } elsif ( $options{choices} eq 'patron-categories' ) { - $options{choices} = { map { $_->categorycode => $_->description } Koha::Patron::Categories->search }; + $options{choices} = { map { $_->categorycode => $_->description } Koha::Patron::Categories->search->as_list }; $add_blank = 1; } else { die 'Unrecognized source of preference values: ' . $options{'choices'}; --- a/admin/sms_providers.pl +++ a/admin/sms_providers.pl @@ -62,7 +62,7 @@ elsif ( $op eq 'delete' ) { $provider->delete() if $provider; } -my @providers = Koha::SMS::Providers->search(); +my @providers = Koha::SMS::Providers->search->as_list; $template->param( providers => \@providers ); --- a/admin/transport-cost-matrix.pl +++ a/admin/transport-cost-matrix.pl @@ -45,7 +45,7 @@ unless ($update) { $have_matrix = keys %$cost_matrix if $cost_matrix; } -my @branchloop = map { code => $_->branchcode, name => $_->branchname }, Koha::Libraries->search({}, { order_by => 'branchname' }); +my @branchloop = map { code => $_->branchcode, name => $_->branchname }, Koha::Libraries->search({}, { order_by => 'branchname' })->as_list; my (@branchfromloop, @errors); foreach my $branchfrom ( @branchloop ) { my $fromcode = $branchfrom->{code}; --- a/basket/basket.pl +++ a/basket/basket.pl @@ -126,7 +126,7 @@ my $resultsarray = \@results; $template->param( BIBLIO_RESULTS => $resultsarray, - csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ], + csv_profiles => Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }), bib_list => $bib_list, ); --- a/basket/downloadcart.pl +++ a/basket/downloadcart.pl @@ -92,7 +92,7 @@ if ($bib_list && $format) { print $output; } else { - $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]); + $template->param(csv_profiles => Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' })); $template->param(bib_list => $bib_list); output_html_with_http_headers $query, $cookie, $template->output; } --- a/catalogue/issuehistory.pl +++ a/catalogue/issuehistory.pl @@ -47,14 +47,14 @@ my @checkouts = Koha::Checkouts->search( join => 'item', order_by => 'timestamp', } -); +)->as_list; my @old_checkouts = Koha::Old::Checkouts->search( { biblionumber => $biblionumber }, { join => 'item', order_by => 'timestamp', } -); +)->as_list; my $biblio = Koha::Biblios->find( $biblionumber ); --- a/catalogue/item-export.pl +++ a/catalogue/item-export.pl @@ -36,7 +36,7 @@ my ($template, $borrowernumber, $cookie) = get_template_and_user({ my @itemnumbers = $cgi->multi_param('itemnumber'); my $format = $cgi->param('format') // 'csv'; -my @items = Koha::Items->search({ itemnumber => { -in => \@itemnumbers } }); +my @items = Koha::Items->search({ itemnumber => { -in => \@itemnumbers } })->as_list; if ($format eq 'barcodes') { print $cgi->header({ --- a/catalogue/itemsearch.pl +++ a/catalogue/itemsearch.pl @@ -259,9 +259,9 @@ if ( defined $format ) { # Display the search form -my @branches = map { value => $_->branchcode, label => $_->branchname }, Koha::Libraries->search( {}, { order_by => 'branchname' } ); +my @branches = map { value => $_->branchcode, label => $_->branchname }, Koha::Libraries->search( {}, { order_by => 'branchname' } )->as_list; my @itemtypes; -foreach my $itemtype ( Koha::ItemTypes->search_with_localization ) { +foreach my $itemtype ( Koha::ItemTypes->search_with_localization->as_list ) { push @itemtypes, { value => $itemtype->itemtype, label => $itemtype->translated_description, --- a/catalogue/search.pl +++ a/catalogue/search.pl @@ -231,7 +231,7 @@ if($cgi->cookie("intranet_bib_list")){ } my @search_groups = - Koha::Library::Groups->get_search_groups( { interface => 'staff' } ); + Koha::Library::Groups->get_search_groups( { interface => 'staff' } )->as_list; @search_groups = sort { $a->title cmp $b->title } @search_groups; $template->param( --- a/cataloguing/editor.pl +++ a/cataloguing/editor.pl @@ -49,7 +49,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( my $schema = Koha::Database->new->schema; -my @keyboard_shortcuts = Koha::KeyboardShortcuts->search(); +my @keyboard_shortcuts = Koha::KeyboardShortcuts->search->as_list; # Keyboard shortcuts $template->param( --- a/cataloguing/value_builder/cn_browser.pl +++ a/cataloguing/value_builder/cn_browser.pl @@ -83,7 +83,7 @@ my $launcher = sub { } my $cn_source = $cgi->param('cn_source') || C4::Context->preference("DefaultClassificationSource"); - my @class_sources = Koha::ClassSources->search({ used => 1}); + my @class_sources = Koha::ClassSources->search({ used => 1})->as_list; #Don't show half the results of show lt or gt $real_limit = $results_per_page if $search ne $q; --- a/cataloguing/value_builder/marc21_linking_section.pl +++ a/cataloguing/value_builder/marc21_linking_section.pl @@ -297,7 +297,7 @@ my $launcher = sub { } ); - my @itemtypes = Koha::ItemTypes->search; + my @itemtypes = Koha::ItemTypes->search->as_list; $template->param( itypeloop => \@itemtypes, --- a/cataloguing/value_builder/unimarc_field_4XX.pl +++ a/cataloguing/value_builder/unimarc_field_4XX.pl @@ -484,7 +484,7 @@ sub plugin { } ); - my @itemtypes = Koha::ItemTypes->search; + my @itemtypes = Koha::ItemTypes->search->as_list; $template->param( #classlist => $classlist, itypeloop => \@itemtypes, --- a/circ/article-requests.pl +++ a/circ/article-requests.pl @@ -39,9 +39,9 @@ my $branchcode = defined( $query->param('branchcode') ) ? $query->param('branchc $template->param( branchcode => $branchcode, - article_requests_requested => scalar Koha::ArticleRequests->requested($branchcode), - article_requests_pending => scalar Koha::ArticleRequests->pending($branchcode), - article_requests_processing => scalar Koha::ArticleRequests->processing($branchcode), + article_requests_requested => Koha::ArticleRequests->requested($branchcode), + article_requests_pending => Koha::ArticleRequests->pending($branchcode), + article_requests_processing => Koha::ArticleRequests->processing($branchcode), ); output_html_with_http_headers $query, $cookie, $template->output; --- a/circ/circulation.pl +++ a/circ/circulation.pl @@ -545,11 +545,11 @@ my $view = $batch my @relatives; if ( $patron ) { - if ( my @guarantors = $patron->guarantor_relationships()->guarantors() ) { + if ( my @guarantors = $patron->guarantor_relationships()->guarantors->as_list ) { push( @relatives, $_->id ) for @guarantors; - push( @relatives, $_->id ) for $patron->siblings(); + push( @relatives, $_->id ) for $patron->siblings->as_list; } else { - push( @relatives, $_->id ) for $patron->guarantee_relationships()->guarantees(); + push( @relatives, $_->id ) for $patron->guarantee_relationships()->guarantees->as_list; } } my $relatives_issues_count = @@ -603,7 +603,7 @@ $template->param( if ( C4::Context->preference("ExportCircHistory") ) { - $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ]); + $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' })->as_list ]); } my $has_modifications = Koha::Patron::Modifications->search( { borrowernumber => $borrowernumber } )->count; --- a/circ/transfers_to_send.pl +++ a/circ/transfers_to_send.pl @@ -53,7 +53,7 @@ my @transfers = Koha::Libraries->search( prefetch => 'branchtransfers_tobranches', order_by => 'branchtransfers_tobranches.tobranch' } -); +)->as_list; $template->param( libraries => \@transfers, --- a/clubs/clubs.pl +++ a/clubs/clubs.pl @@ -45,8 +45,8 @@ my $club_id = $cgi->param('club_id'); my $club_template = $club_template_id ? Koha::Club::Templates->find( $club_template_id ) : undef; my $club = $club_id ? Koha::Clubs->find( $club_id ) : undef; -my @club_templates = Koha::Club::Templates->search(); -my @clubs = Koha::Clubs->search(); +my @club_templates = Koha::Club::Templates->search->as_list; +my @clubs = Koha::Clubs->search->as_list; $template->param( stored => $stored, --- a/clubs/patron-clubs-tab.pl +++ a/clubs/patron-clubs-tab.pl @@ -42,8 +42,8 @@ my $patronnumber = $cgi->param('borrowernumber'); my $patron = Koha::Patrons->find($patronnumber); -my @enrollments = $patron->get_club_enrollments(); -my @clubs = $patron->get_enrollable_clubs(); +my @enrollments = $patron->get_club_enrollments->as_list; +my @clubs = $patron->get_enrollable_clubs->as_list; $template->param( enrollments => \@enrollments, --- a/ill/ill-requests.pl +++ a/ill/ill-requests.pl @@ -429,7 +429,7 @@ $template->param( backends => $backends, types => [ "Book", "Article", "Journal" ], query_type => $op, - branches => scalar Koha::Libraries->search, + branches => Koha::Libraries->search, ); output_html_with_http_headers( $cgi, $cookie, $template->output ); --- a/members/apikeys.pl +++ a/members/apikeys.pl @@ -84,7 +84,7 @@ if ($op) { $template->param( fresh_api_key => $api_key, - api_keys => scalar Koha::ApiKeys->search({ patron_id => $patron_id }), + api_keys => Koha::ApiKeys->search({ patron_id => $patron_id }), ); } @@ -121,7 +121,7 @@ if ($op) { } } -my @api_keys = Koha::ApiKeys->search({ patron_id => $patron_id }); +my @api_keys = Koha::ApiKeys->search({ patron_id => $patron_id })->as_list; $template->param( api_keys => \@api_keys, --- a/members/boraccount.pl +++ a/members/boraccount.pl @@ -177,7 +177,7 @@ my $total = $patron->account->balance; my @accountlines = Koha::Account::Lines->search( { borrowernumber => $patron->borrowernumber }, { order_by => { -desc => 'accountlines_id' } } -); +)->as_list; my $totalcredit; if($total <= 0){ --- a/members/mancredit.pl +++ a/members/mancredit.pl @@ -115,7 +115,7 @@ else { my @credit_types = Koha::Account::CreditTypes->search_with_library_limits( { can_be_added_manually => 1, archived => 0 }, - {}, $library_id ); + {}, $library_id )->as_list; $template->param( patron => $patron, --- a/members/maninvoice.pl +++ a/members/maninvoice.pl @@ -207,7 +207,7 @@ if ($add) { my @debit_types = Koha::Account::DebitTypes->search_with_library_limits( { can_be_invoiced => 1, archived => 0 }, - {}, $library_id ); + {}, $library_id )->as_list; $template->param( debit_types => \@debit_types, --- a/members/memberentry.pl +++ a/members/memberentry.pl @@ -68,7 +68,7 @@ if ( $borrowernumber and not $patron ) { } if ( C4::Context->preference('SMSSendDriver') eq 'Email' ) { - my @providers = Koha::SMS::Providers->search(); + my @providers = Koha::SMS::Providers->search->as_list; $template->param( sms_providers => \@providers ); } @@ -96,7 +96,7 @@ my $userenv = C4::Context->userenv; my @messages; ## Deal with guarantor stuff -$template->param( relationships => scalar $patron->guarantor_relationships ) if $patron; +$template->param( relationships => $patron->guarantor_relationships ) if $patron; my @relations = split /\|/, C4::Context->preference('borrowerRelationship'), -1; @relations = ('') unless @relations; --- a/members/members-home.pl +++ a/members/members-home.pl @@ -43,7 +43,7 @@ if( Koha::Libraries->search->count < 1){ $template->param(no_branches => 1); } -my @categories = Koha::Patron::Categories->search_with_library_limits; +my @categories = Koha::Patron::Categories->search_with_library_limits->as_list; if(scalar(@categories) < 1){ $no_add = 1; $template->param(no_categories => 1); --- a/members/members-update.pl +++ a/members/members-update.pl @@ -59,7 +59,7 @@ foreach my $pm (@$pending_modifications) { foreach my $type (@modified_atypes) { my $type_obj = Koha::Patron::Attribute::Types->find($type); my @before = Koha::Patron::Attributes->search( - { borrowernumber => $pm->{borrowernumber}, code => $type } ); + { borrowernumber => $pm->{borrowernumber}, code => $type } )->as_list; my @after = grep { $_->code eq $type } @{ $pm->{extended_attributes} }; push @{$modified_attributes}, { type => $type_obj, before => \@before, after => \@after }; } --- a/members/moremember.pl +++ a/members/moremember.pl @@ -95,11 +95,11 @@ $template->param( flagged => 1 ) if $patron->account_locked; my @relatives; my $guarantor_relationships = $patron->guarantor_relationships; -my @guarantees = $patron->guarantee_relationships->guarantees; -my @guarantors = $guarantor_relationships->guarantors; +my @guarantees = $patron->guarantee_relationships->guarantees->as_list; +my @guarantors = $guarantor_relationships->guarantors->as_list; if (@guarantors) { push( @relatives, $_->id ) for @guarantors; - push( @relatives, $_->id ) for $patron->siblings(); + push( @relatives, $_->id ) for $patron->siblings->as_list; } else { push( @relatives, $_->id ) for @guarantees; @@ -162,7 +162,7 @@ if (C4::Context->preference('EnhancedMessagingPreferences')) { } if ( C4::Context->preference("ExportCircHistory") ) { - $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ]); + $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' })->as_list ]); } my $patron_messages = Koha::Patron::Messages->search( --- a/members/paycollect.pl +++ a/members/paycollect.pl @@ -125,7 +125,7 @@ if ( $selected_accts ) { @selected_accountlines = Koha::Account::Lines->search( $search_params, { order_by => 'date' } - ); + )->as_list; my $sum = Koha::Account::Lines->search( $search_params, --- a/members/print_overdues.pl +++ a/members/print_overdues.pl @@ -49,7 +49,7 @@ my $patron = Koha::Patrons->find( $borrowernumber ); output_and_exit_if_error( $input, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } ); my $overdues = [ - map { $_->unblessed_all_relateds } $patron->get_overdues + map { $_->unblessed_all_relateds } $patron->get_overdues->as_list ]; my $letter = parse_overdues_letter( --- a/members/update-child.pl +++ a/members/update-child.pl @@ -80,7 +80,7 @@ elsif ( $op eq 'update' ) { # But we should not hit that with a normal use of the interface die "You are doing something wrong updating this child" unless $adult_category; - $_->delete() for $patron->guarantor_relationships(); + $_->delete() for $patron->guarantor_relationships->as_list; $patron->categorycode($adult_category->categorycode); $patron->store; --- a/misc/cronjobs/delete_records_via_leader.pl +++ a/misc/cronjobs/delete_records_via_leader.pl @@ -86,7 +86,7 @@ foreach my $m (@metadatas) { if ($delete_items) { my $deleted_count = 0; my $biblio = Koha::Biblios->find( $biblionumber ); - my @items = Koha::Items->search( { biblionumber => $biblionumber } ); + my @items = Koha::Items->search( { biblionumber => $biblionumber } )->as_list; foreach my $item ( @items ) { my $itemnumber = $item->itemnumber; --- a/misc/cronjobs/reconcile_balances.pl +++ a/misc/cronjobs/reconcile_balances.pl @@ -81,7 +81,7 @@ my @patron_ids = map { $_->borrowernumber } Koha::Account::Lines->search( columns => [ qw/borrowernumber/ ], distinct => 1, } - ); + )->as_list; my $patrons = Koha::Patrons->search({ borrowernumber => { -in => \@patron_ids } }); --- a/opac/clubs/clubs-tab.pl +++ a/opac/clubs/clubs-tab.pl @@ -39,8 +39,8 @@ my $borrowernumber = $cgi->param('borrowernumber'); my $borrower = Koha::Patrons->find($borrowernumber); -my @enrollments = $borrower->get_club_enrollments(); -my @clubs = $borrower->get_enrollable_clubs( my $opac = 1 ); +my @enrollments = $borrower->get_club_enrollments->as_list; +my @clubs = $borrower->get_enrollable_clubs( my $opac = 1 )->as_list; $template->param( enrollments => \@enrollments, --- a/opac/opac-account.pl +++ a/opac/opac-account.pl @@ -50,7 +50,7 @@ if ( C4::Context->preference('AllowPatronToSetFinesVisibilityForGuarantor') my @relatives; # Filter out guarantees that don't want guarantor to see checkouts - foreach my $gr ( $patron->guarantee_relationships() ) { + foreach my $gr ( $patron->guarantee_relationships->as_list ) { my $g = $gr->guarantee; if ( $g->privacy_guarantor_fines ) { --- a/opac/opac-basket.pl +++ a/opac/opac-basket.pl @@ -179,7 +179,7 @@ $template->param( csv_profiles => [ Koha::CsvProfiles->search( { type => 'marc', used_for => 'export_records', staff_only => 0 } - ) + )->as_list ], bib_list => $bib_list, BIBLIO_RESULTS => $resultsarray, --- a/opac/opac-downloadcart.pl +++ a/opac/opac-downloadcart.pl @@ -137,7 +137,7 @@ if ($bib_list && $format) { used_for => 'export_records', staff_only => 0 } - ) + )->as_list ] ); $template->param(bib_list => $bib_list); --- a/opac/opac-downloadshelf.pl +++ a/opac/opac-downloadshelf.pl @@ -153,7 +153,7 @@ if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { used_for => 'export_records', staff_only => 0 } - ) + )->as_list ] ); $template->param( shelf => $shelf ); --- a/opac/opac-memberentry.pl +++ a/opac/opac-memberentry.pl @@ -86,7 +86,7 @@ if ( $action eq 'create' || $action eq 'new' ) { $params = { branchcode => { -in => \@PatronSelfRegistrationLibraryList } } if @PatronSelfRegistrationLibraryList; } -my @libraries = Koha::Libraries->search($params); +my @libraries = Koha::Libraries->search($params)->as_list; my ( $min, $max ) = C4::Members::get_cardnumber_length(); if ( defined $min ) { @@ -698,7 +698,7 @@ sub ParsePatronAttributes { my @values = $cgi->multi_param('patron_attribute_value'); my @editable_attribute_types - = map { $_->code } Koha::Patron::Attribute::Types->search({ opac_editable => 1 }); + = map { $_->code } Koha::Patron::Attribute::Types->search({ opac_editable => 1 })->as_list; my $ea = each_array( @codes, @values ); my @attributes; --- a/opac/opac-messaging.pl +++ a/opac/opac-messaging.pl @@ -79,7 +79,7 @@ $template->param( TalkingTechItivaPhone => C4::Context->preference("TalkingTechItivaPhoneNotification") ); if ( C4::Context->preference("SMSSendDriver") eq 'Email' ) { - my @providers = Koha::SMS::Providers->search(); + my @providers = Koha::SMS::Providers->search->as_list; $template->param( sms_providers => \@providers, sms_provider_id => $patron->sms_provider_id ); } --- a/opac/opac-search.pl +++ a/opac/opac-search.pl @@ -436,7 +436,7 @@ my %is_nolimit = map { $_ => 1 } @nolimits; if (@searchCategories > 0) { my @tabcat; foreach my $typecategory (@searchCategories) { - my @itemtypes = Koha::ItemTypes->search({ searchcategory => $typecategory }); + my @itemtypes = Koha::ItemTypes->search({ searchcategory => $typecategory })->as_list; push @tabcat, $_->itemtype for @itemtypes; } --- a/opac/opac-shelves.pl +++ a/opac/opac-shelves.pl @@ -400,7 +400,7 @@ if ( $op eq 'view' ) { csv_profiles => [ Koha::CsvProfiles->search( { type => 'marc', used_for => 'export_records', staff_only => 0 } - ) + )->as_list ], ); if ( $page ) { --- a/opac/opac-user.pl +++ a/opac/opac-user.pl @@ -370,7 +370,7 @@ if ( C4::Context->preference('AllowPatronToSetCheckoutsVisibilityForGuarantor' { my @relatives; # Filter out guarantees that don't want guarantor to see checkouts - foreach my $gr ( $patron->guarantee_relationships() ) { + foreach my $gr ( $patron->guarantee_relationships->as_list ) { my $g = $gr->guarantee; push( @relatives, $g ) if $g->privacy_guarantor_checkouts; } @@ -382,7 +382,7 @@ if ( C4::Context->preference('AllowPatronToSetFinesVisibilityForGuarantor') { my @relatives_with_fines; # Filter out guarantees that don't want guarantor to see checkouts - foreach my $gr ( $patron->guarantee_relationships() ) { + foreach my $gr ( $patron->guarantee_relationships->as_list ) { my $g = $gr->guarantee; push( @relatives_with_fines, $g ) if $g->privacy_guarantor_fines; } --- a/reports/acquisitions_stats.pl +++ a/reports/acquisitions_stats.pl @@ -181,7 +181,7 @@ else { my $CGIsepChoice = GetDelimiterChoices; - my @branches = Koha::Libraries->search({}, { order_by => 'branchname' }); + my @branches = Koha::Libraries->search({}, { order_by => 'branchname' })->as_list; my $ccode_subfield_structure = GetMarcSubfieldStructureFromKohaField('items.ccode'); my $ccode_label; --- a/reports/borrowers_stats.pl +++ a/reports/borrowers_stats.pl @@ -219,7 +219,7 @@ sub calculate { } } - my @branchcodes = map { $_->branchcode } Koha::Libraries->search; + my @branchcodes = map { $_->branchcode } Koha::Libraries->search->as_list; ($status ) and push @loopfilter,{crit=>"Status", filter=>$status }; ($activity) and push @loopfilter,{crit=>"Activity",filter=>$activity}; # year of activity --- a/reports/issues_stats.pl +++ a/reports/issues_stats.pl @@ -82,7 +82,7 @@ $template->param(do_it => $do_it, our $itemtypes = Koha::ItemTypes->search_with_localization->unblessed; -our @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']}); +our @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']})->as_list; our $locations = { map { ( $_->{authorised_value} => $_->{lib} ) } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => '', kohafield => 'items.location' }, { order_by => ['description'] } ) }; our $ccodes = { map { ( $_->{authorised_value} => $_->{lib} ) } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => '', kohafield => 'items.ccode' }, { order_by => ['description'] } ) }; --- a/reports/reserves_stats.pl +++ a/reports/reserves_stats.pl @@ -70,7 +70,7 @@ $sep = "\t" if ($sep eq 'tabulation'); $template->param(do_it => $do_it, ); -my @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']}); +my @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']})->as_list; my $locations = { map { ( $_->{authorised_value} => $_->{lib} ) } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => '', kohafield => 'items.location' }, { order_by => ['description'] } ) }; my $ccodes = { map { ( $_->{authorised_value} => $_->{lib} ) } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => '', kohafield => 'items.ccode' }, { order_by => ['description'] } ) }; @@ -325,7 +325,7 @@ sub display_value { } } elsif ( $crit =~ /category/ ) { - my @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']}); + my @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']})->as_list; foreach my $patron_category ( @patron_categories ) { ( $value eq $patron_category->categorycode ) or next; $display_value = $patron_category->description and last; --- a/reserve/request.pl +++ a/reserve/request.pl @@ -664,7 +664,7 @@ foreach my $biblionumber (@biblionumbers) { # existingreserves building my @reserveloop; - my @reserves = Koha::Holds->search( { biblionumber => $biblionumber }, { order_by => 'priority' } ); + my @reserves = Koha::Holds->search( { biblionumber => $biblionumber }, { order_by => 'priority' } )->as_list; foreach my $res ( sort { my $a_found = $a->found() || ''; --- a/serials/acqui-search-result.pl +++ a/serials/acqui-search-result.pl @@ -60,7 +60,7 @@ my ($template, $loggedinuser, $cookie) my $supplier=$query->param('supplier'); my @suppliers = Koha::Acquisition::Booksellers->search( { name => { -like => "%$supplier%" } }, - { order_by => { -asc => 'name' } } ); + { order_by => { -asc => 'name' } } )->as_list; #build result page my $loop_suppliers = []; --- a/serials/claims.pl +++ a/serials/claims.pl @@ -96,7 +96,7 @@ $template->param( supplierid => $supplierid, claimletter => $claimletter, additional_fields_for_subscription => $additional_fields, - csv_profiles => [ Koha::CsvProfiles->search({ type => 'sql', used_for => 'late_issues' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'sql', used_for => 'late_issues' })->as_list ], letters => $letters, (uc(C4::Context->preference("marcflavour"))) => 1 ); --- a/serials/serials-search.pl +++ a/serials/serials-search.pl @@ -76,7 +76,7 @@ if ( $op and $op eq "close" ) { } -my @additional_fields = Koha::AdditionalFields->search( { tablename => 'subscription', searchable => 1 } ); +my @additional_fields = Koha::AdditionalFields->search( { tablename => 'subscription', searchable => 1 } )->as_list; my @additional_field_filters; for my $field ( @additional_fields ) { my $value = $query->param( 'additional_field_' . $field->id ); @@ -163,7 +163,7 @@ else } } - my @branches = Koha::Libraries->search( {}, { order_by => ['branchcode'] } ); + my @branches = Koha::Libraries->search( {}, { order_by => ['branchcode'] } )->as_list; my @branches_loop; foreach my $b ( @branches ) { my $selected = 0; --- a/serials/subscription-add.pl +++ a/serials/subscription-add.pl @@ -130,7 +130,7 @@ $template->param( locations_loop=>$locations_loop, ); -my @additional_fields = Koha::AdditionalFields->search({ tablename => 'subscription' }); +my @additional_fields = Koha::AdditionalFields->search({ tablename => 'subscription' })->as_list; my %additional_field_values; if ($subscriptionid) { my $subscription = Koha::Subscriptions->find($subscriptionid); --- a/serials/subscription-batchedit.pl +++ a/serials/subscription-batchedit.pl @@ -47,7 +47,7 @@ foreach my $subscriptionid (@subscriptionids) { push @subscriptions, $subscription if $subscription; } -my @additional_fields = Koha::AdditionalFields->search({tablename => 'subscription'}); +my @additional_fields = Koha::AdditionalFields->search({tablename => 'subscription'})->as_list; my $batchedit = $cgi->param('batchedit'); if ($batchedit) { @@ -98,7 +98,7 @@ if ($batchedit) { $template->param( subscriptions => \@subscriptions, - booksellers => [ Koha::Acquisition::Booksellers->search() ], + booksellers => [ Koha::Acquisition::Booksellers->search->as_list ], additional_fields => \@additional_fields, referrer => scalar $cgi->param('referrer'), ); --- a/serials/subscription-detail.pl +++ a/serials/subscription-detail.pl @@ -126,7 +126,7 @@ my $default_bib_view = get_default_view(); my $subscription_object = Koha::Subscriptions->find( $subscriptionid ); $template->param( - available_additional_fields => [ Koha::AdditionalFields->search( { tablename => 'subscription' } ) ], + available_additional_fields => [ Koha::AdditionalFields->search( { tablename => 'subscription' } )->as_list ], additional_field_values => { map { $_->field->name => $_->value } $subscription_object->additional_field_values->as_list --- a/suggestion/suggestion.pl +++ a/suggestion/suggestion.pl @@ -456,7 +456,7 @@ if( $suggestion_ref->{STATUS} ) { ); } -my @currencies = Koha::Acquisition::Currencies->search; +my @currencies = Koha::Acquisition::Currencies->search->as_list; $template->param( currencies => \@currencies, suggestion => $suggestion_ref, --- a/t/db_dependent/AudioAlerts.t +++ a/t/db_dependent/AudioAlerts.t @@ -27,7 +27,7 @@ BEGIN { my $schema = Koha::Database->new()->schema(); $schema->storage->txn_begin(); -map { $_->delete() } Koha::AudioAlerts->search(); +map { $_->delete() } Koha::AudioAlerts->search->as_list; ## Check the basics # Creating 3 audio alerts named a, b and c @@ -97,7 +97,7 @@ is( $c->precedence, 3, "Alert C has a precedence of 3" ); $a->move('bottom'); # Changed precedence order from database insert order # Insert order was a, b, c. Precedence order is now b, c, a. -( $b, $c, $a ) = Koha::AudioAlerts->search(); +( $b, $c, $a ) = Koha::AudioAlerts->search->as_list; is( $b->selector, 'B', 'First sound is indeed B' ); is( $b->precedence, 1, "Alert B has a precedence of 1" ); --- a/t/db_dependent/AuthorisedValues.t +++ a/t/db_dependent/AuthorisedValues.t @@ -111,7 +111,7 @@ $av3->lib_opac(''); is( $av3->opac_description, 'display value 3', 'Got correction opac description if lib_opac is *not* set' ); my @authorised_values = - Koha::AuthorisedValues->new()->search( { category => 'av_for_testing' } ); + Koha::AuthorisedValues->new()->search( { category => 'av_for_testing' } )->as_list; is( @authorised_values, 3, "Get correct number of values" ); my $branchcode1 = $builder->build({ source => 'Branch' })->{branchcode}; @@ -119,14 +119,14 @@ my $branchcode2 = $builder->build({ source => 'Branch' })->{branchcode}; $av1->add_library_limit( $branchcode1 ); -@authorised_values = Koha::AuthorisedValues->search_with_library_limits( { category => 'av_for_testing' }, {}, $branchcode1 ); +@authorised_values = Koha::AuthorisedValues->search_with_library_limits( { category => 'av_for_testing' }, {}, $branchcode1 )->as_list; is( @authorised_values, 3, "Search including value with a branch limit ( branch can use the limited value ) gives correct number of results" ); -@authorised_values = Koha::AuthorisedValues->search_with_library_limits( { category => 'av_for_testing' }, {}, $branchcode2 ); +@authorised_values = Koha::AuthorisedValues->search_with_library_limits( { category => 'av_for_testing' }, {}, $branchcode2 )->as_list; is( @authorised_values, 2, "Search including value with a branch limit ( branch *cannot* use the limited value ) gives correct number of results" ); $av1->del_library_limit( $branchcode1 ); -@authorised_values = Koha::AuthorisedValues->search_with_library_limits( { category => 'av_for_testing' }, {}, $branchcode2 ); +@authorised_values = Koha::AuthorisedValues->search_with_library_limits( { category => 'av_for_testing' }, {}, $branchcode2 )->as_list; is( @authorised_values, 3, "Branch limitation deleted successfully" ); $av1->add_library_limit( $branchcode1 ); --- a/t/db_dependent/Budgets.t +++ a/t/db_dependent/Budgets.t @@ -516,7 +516,7 @@ is ( GetBudgetOrdered( $fund ), '20', "total ordered price is 20"); # CloneBudgetPeriod # Let's make sure our timestamp is old -my @orig_funds = Koha::Acquisition::Funds->search({ budget_period_id => $budget_period_id }); +my @orig_funds = Koha::Acquisition::Funds->search({ budget_period_id => $budget_period_id })->as_list; foreach my $fund (@orig_funds){ $fund->timestamp('1999-12-31 23:59:59')->store; } --- a/t/db_dependent/Koha.t +++ a/t/db_dependent/Koha.t @@ -202,10 +202,10 @@ subtest 'GetItemTypesCategorized test' => sub{ $insertSth->execute('BKghjklo3', 'Yet another type of book', 'Qwertyware', 0); # Azertyware should not exist. - my @itemtypes = Koha::ItemTypes->search({ searchcategory => 'Azertyware' }); + my @itemtypes = Koha::ItemTypes->search({ searchcategory => 'Azertyware' })->as_list; is( @itemtypes, 0, 'Search item types by searchcategory: Invalid category returns nothing'); - @itemtypes = Koha::ItemTypes->search({ searchcategory => 'Qwertyware' }); + @itemtypes = Koha::ItemTypes->search({ searchcategory => 'Qwertyware' })->as_list; my @got = map { $_->itemtype } @itemtypes; my @expected = ( 'BKghjklo2', 'BKghjklo3' ); is_deeply(\@got,\@expected,'Search item types by searchcategory: valid category returns itemtypes'); --- a/t/db_dependent/Koha/Objects/Mixin/AdditionalFields.t +++ a/t/db_dependent/Koha/Objects/Mixin/AdditionalFields.t @@ -88,7 +88,7 @@ my @baskets = Koha::Acquisition::Baskets->filter_by_additional_fields([ id => $foo->id, value => 'foo value for basket1', }, -]); +])->as_list; is(scalar @baskets, 1, 'search returns only one result'); is($baskets[0]->basketno, $basket1->basketno, 'result is basket1'); @@ -98,7 +98,7 @@ is($baskets[0]->basketno, $basket1->basketno, 'result is basket1'); id => $foo->id, value => 'foo value for basket2', }, -]); +])->as_list; is(scalar @baskets, 1, 'search returns only one result'); is($baskets[0]->basketno, $basket2->basketno, 'result is basket2'); @@ -112,7 +112,7 @@ is($baskets[0]->basketno, $basket2->basketno, 'result is basket2'); id => $bar->id, value => 'bar value for basket1', }, -]); +])->as_list; is(scalar @baskets, 1, 'search returns only one result'); is($baskets[0]->basketno, $basket1->basketno, 'result is basket1'); @@ -126,7 +126,7 @@ is($baskets[0]->basketno, $basket1->basketno, 'result is basket1'); id => $bar->id, value => 'bar value for basket2', }, -]); +])->as_list; is(scalar @baskets, 0, 'search returns no result'); @@ -135,7 +135,7 @@ is(scalar @baskets, 0, 'search returns no result'); id => $foo->id, value => 'foo', }, -]); +])->as_list; is(scalar @baskets, 2, 'search returns two results'); @@ -148,7 +148,7 @@ is(scalar @baskets, 2, 'search returns two results'); id => $foo->id, value => 'basket1', }, -]); +])->as_list; is(scalar @baskets, 1, 'search returns only one result'); is($baskets[0]->basketno, $basket1->basketno, 'result is basket1'); --- a/t/db_dependent/LibraryGroups.t +++ a/t/db_dependent/LibraryGroups.t @@ -36,7 +36,7 @@ my $library7 = $builder->build( { source => 'Branch' } ); my $root_group = Koha::Library::Group->new( { title => "Test root group" } )->store(); -my @root_groups = Koha::Library::Groups->get_root_groups(); +my @root_groups = Koha::Library::Groups->get_root_groups->as_list; my $in_list = any { $_->id eq $root_group->id } @root_groups; ok( $in_list, 'New root group is in the list returned by the get_root_groups method'); @@ -66,7 +66,7 @@ my $library = $groupA_library1->library(); is( ref( $library ), 'Koha::Library', 'Method library returns a Koha::Library object' ); is( $library->id, $groupA_library1->branchcode, 'Branchcode for fetched library matches' ); -my @libraries_not_direct_children = $groupA->libraries_not_direct_children(); +my @libraries_not_direct_children = $groupA->libraries_not_direct_children->as_list; $in_list = any { $_->id eq $groupA_library1->branchcode } @libraries_not_direct_children; ok( !$in_list, 'Method libraries_not_direct_children returns all libraries not direct descendants of group, library 1 is not in the list'); $in_list = any { $_->id eq $groupA1_library2->branchcode } @libraries_not_direct_children; @@ -119,9 +119,9 @@ subtest 'Koha::Library::Group->get_search_groups' => sub { $groupA = Koha::Library::Groups->find( $groupA->id ); $groupB = Koha::Library::Groups->find( $groupB->id ); - my @groups = Koha::Library::Groups->get_search_groups({ interface => 'opac' }); + my @groups = Koha::Library::Groups->get_search_groups({ interface => 'opac' })->as_list; is_deeply( $groups[0]->unblessed, $groupA->unblessed, 'Get search groups opac should return enabled group' ); - @groups = Koha::Library::Groups->get_search_groups({ interface => 'staff' }); + @groups = Koha::Library::Groups->get_search_groups({ interface => 'staff' })->as_list; is_deeply( $groups[0]->unblessed, $groupB->unblessed, 'Get search groups staff should return enabled group' ); }; --- a/t/db_dependent/Overdues.t +++ a/t/db_dependent/Overdues.t @@ -91,7 +91,7 @@ $dbh->do(q| ( '', '', 1, 'LETTER_CODE1', 1, 5, 'LETTER_CODE2', 1, 10, 'LETTER_CODE3', 1 ) |); -my @branchcodes = map { $_->branchcode } Koha::Libraries->search; +my @branchcodes = map { $_->branchcode } Koha::Libraries->search->as_list; my @overdue_branches = C4::Overdues::GetBranchcodesWithOverdueRules(); is_deeply( [ sort @overdue_branches ], [ sort @branchcodes ], 'If a default rule exists, all branches should be returned' ); --- a/t/db_dependent/Patrons.t +++ a/t/db_dependent/Patrons.t @@ -81,7 +81,7 @@ $b3_new->set({ firstname => 'Some first name for Test 3' })->store(); $b3_new = Koha::Patrons->find( $b3->borrowernumber() ); is( t::lib::Dates::compare( $b3_new->updated_on, $now), 0, "borrowers.updated_on should have been set to now on updating" ); -my @patrons = Koha::Patrons->search( { branchcode => $branchcode } ); +my @patrons = Koha::Patrons->search( { branchcode => $branchcode } )->as_list; is( @patrons, 3, "Found 3 patrons with Search" ); my $unexistent = Koha::Patrons->find( '1234567890' ); --- a/t/db_dependent/Reserves.t +++ a/t/db_dependent/Reserves.t @@ -272,7 +272,7 @@ is($holds->next->priority, 0, 'Item is correctly waiting'); is($holds->next->priority, 1, 'Item is correctly priority 1'); is($holds->next->priority, 2, 'Item is correctly priority 2'); -my @reserves = Koha::Holds->search({ borrowernumber => $requesters{$branch_3} })->waiting(); +my @reserves = Koha::Holds->search({ borrowernumber => $requesters{$branch_3} })->waiting->as_list; is( @reserves, 1, 'GetWaiting got only the waiting reserve' ); is( $reserves[0]->borrowernumber(), $requesters{$branch_3}, 'GetWaiting got the reserve for the correct borrower' ); --- a/t/db_dependent/Upload.t +++ a/t/db_dependent/Upload.t @@ -217,7 +217,7 @@ subtest 'Test delete_missing' => sub { subtest 'Call search_term with[out] private flag' => sub { plan tests => 3; - my @recs = Koha::UploadedFiles->search_term({ term => 'file' }); + my @recs = Koha::UploadedFiles->search_term({ term => 'file' })->as_list; is( @recs, 1, 'Returns only one public result' ); is( $recs[0]->filename, 'file3', 'Should be file3' ); @@ -289,10 +289,10 @@ subtest 'Testing delete_temporary' => sub { my $today = dt_from_string; $today->subtract( minutes => 2 ); # should be enough :) my $dt = $today->clone->subtract( days => 1 ); - foreach my $rec ( Koha::UploadedFiles->search({ permanent => 1 }) ) { + foreach my $rec ( Koha::UploadedFiles->search({ permanent => 1 })->as_list ) { $rec->dtcreated($dt)->store; } - my @recs = Koha::UploadedFiles->search({ permanent => 0 }); + my @recs = Koha::UploadedFiles->search({ permanent => 0 })->as_list; $dt = $today->clone->subtract( days => 3 ); $recs[0]->dtcreated($dt)->store; $dt = $today->clone->subtract( days => 5 ); --- a/tools/additional-contents.pl +++ a/tools/additional-contents.pl @@ -69,7 +69,7 @@ if ( $op eq 'add_form' ) { location => $additional_content->location, branchcode => $additional_content->branchcode, } - ) + )->as_list }; $category = $additional_content->category; } --- a/tools/batch_delete_records.pl +++ a/tools/batch_delete_records.pl @@ -54,7 +54,7 @@ if ( $op eq 'form' ) { # Display the form $template->param( op => 'form', - lists => scalar Koha::Virtualshelves->search( + lists => Koha::Virtualshelves->search( [ { public => 0, owner => $loggedinuser }, { public => 1 } --- a/tools/batch_record_modification.pl +++ a/tools/batch_record_modification.pl @@ -82,7 +82,7 @@ if ( $op eq 'form' ) { # Display the form $template->param( view => 'form', - lists => scalar Koha::Virtualshelves->search( + lists => Koha::Virtualshelves->search( [ { public => 0, owner => $loggedinuser }, { public => 1 } --- a/tools/export.pl +++ a/tools/export.pl @@ -301,7 +301,7 @@ else { itemtypes => $itemtypes, authority_types => $authority_types, export_remove_fields => C4::Context->preference("ExportRemoveFields"), - csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' })->as_list ], messages => \@messages, ); --- a/tools/import_borrowers.pl +++ a/tools/import_borrowers.pl @@ -76,7 +76,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( ); # get the patron categories and pass them to the template -my @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']}); +my @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']})->as_list; $template->param( categories => \@patron_categories ); my $columns = C4::Templates::GetColumnDefs( $input )->{borrowers}; $columns = [ grep { $_->{field} ne 'borrowernumber' ? $_ : () } @$columns ]; --- a/tools/inventory.pl +++ a/tools/inventory.pl @@ -122,10 +122,10 @@ for my $authvfield (@$statuses) { # the full set. @notforloans = @{$staton->{'items.notforloan'}} if defined $staton->{'items.notforloan'} and scalar @{$staton->{'items.notforloan'}} > 0; -my @class_sources = Koha::ClassSources->search({ used => 1 }); +my @class_sources = Koha::ClassSources->search({ used => 1 })->as_list; my $pref_class = C4::Context->preference("DefaultClassificationSource"); -my @itemtypes = Koha::ItemTypes->search; +my @itemtypes = Koha::ItemTypes->search->as_list; my @selected_itemtypes; foreach my $itemtype ( @itemtypes ) { if ( defined $input->param('itemtype-' . $itemtype->itemtype) ) { --- a/tools/modborrowers.pl +++ a/tools/modborrowers.pl @@ -130,7 +130,7 @@ if ( $op eq 'show' ) { my @patron_attributes_codes; my $library_id = C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef; my $patron_attribute_types = Koha::Patron::Attribute::Types->search_with_library_limits({}, {}, $library_id); - my @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']}); + my @patron_categories = Koha::Patron::Categories->search_with_library_limits({}, {order_by => ['description']})->as_list; while ( my $attr_type = $patron_attribute_types->next ) { # TODO Repeatable attributes are not correctly managed and can cause data lost. # This should be implemented. --- a/tools/overduerules.pl +++ a/tools/overduerules.pl @@ -32,7 +32,7 @@ use Koha::Patron::Categories; our $input = CGI->new; my $dbh = C4::Context->dbh; -my @patron_categories = Koha::Patron::Categories->search( { overduenoticerequired => { '>' => 0 } } ); +my @patron_categories = Koha::Patron::Categories->search( { overduenoticerequired => { '>' => 0 } } )->as_list; my @category_codes = map { $_->categorycode } @patron_categories; our @rule_params = qw(delay letter debarred); --- a/tools/viewlog.pl +++ a/tools/viewlog.pl @@ -139,7 +139,7 @@ if ($do_it) { $search_params{object} = $object if $object; } - my @logs = Koha::ActionLogs->search(\%search_params); + my @logs = Koha::ActionLogs->search(\%search_params)->as_list; my @data; foreach my $log (@logs) { --- a/virtualshelves/downloadshelf.pl +++ a/virtualshelves/downloadshelf.pl @@ -100,7 +100,7 @@ if ($shelfid && $format) { } } else { - $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]); + $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' })->as_list ]); $template->param(shelfid => $shelfid); } $template->param( messages => \@messages ); --- a/virtualshelves/shelves.pl +++ a/virtualshelves/shelves.pl @@ -358,7 +358,7 @@ $template->param( messages => \@messages, public => $public, print => scalar $query->param('print') || 0, - csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' })->as_list ], ); output_html_with_http_headers $query, $cookie, $template->output; --