From aabe63294d29055140748ce3195f751d49a61d83 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Tue, 18 Oct 2022 16:46:08 +0100 Subject: [PATCH] Bug 31224: Update instances of metadata->record We can now call metadata_record directly on the Koha::Biblio object. This aptch updates all modules and controllers to use Koha::Biblio->metadata_record directly where appropriate. The exceptions are where we don't require any filtering or the filtering makes sense to do after the initial fetch. --- C4/ILSDI/Services.pm | 2 +- Koha/BiblioUtils.pm | 4 ++-- Koha/OAI/Server/Repository.pm | 7 ++++++- Koha/SearchEngine/Elasticsearch/Indexer.pm | 2 +- basket/downloadcart.pl | 2 +- basket/sendbasket.pl | 2 +- catalogue/ISBDdetail.pl | 13 ++----------- catalogue/MARCdetail.pl | 2 +- catalogue/export.pl | 2 +- misc/batchRebuildItemsTables.pl | 2 +- misc/migration_tools/rebuild_zebra.pl | 2 +- opac/opac-MARCdetail.pl | 2 +- opac/opac-downloadcart.pl | 4 ++-- opac/opac-downloadshelf.pl | 4 ++-- opac/opac-export.pl | 4 ++-- opac/opac-sendbasket.pl | 4 ++-- opac/opac-sendshelf.pl | 4 ++-- opac/opac-tags.pl | 4 ++-- opac/opac-user.pl | 8 +++++++- serials/subscription-add.pl | 4 ++-- svc/bib | 4 ++-- svc/new_bib | 2 +- tools/showdiffmarc.pl | 2 +- virtualshelves/downloadshelf.pl | 2 +- virtualshelves/sendshelf.pl | 2 +- 25 files changed, 46 insertions(+), 44 deletions(-) diff --git a/C4/ILSDI/Services.pm b/C4/ILSDI/Services.pm index f6bf6bcc14..4505c6858b 100644 --- a/C4/ILSDI/Services.pm +++ b/C4/ILSDI/Services.pm @@ -218,7 +218,7 @@ sub GetRecords { my $biblioitem = $biblio->biblioitem->unblessed; - my $record = $biblio->metadata->record({ embed_items => 1 }); + my $record = $biblio->metadata_record({ embed_items => 1 }); if ($record) { $biblioitem->{marcxml} = $record->as_xml_record(); } diff --git a/Koha/BiblioUtils.pm b/Koha/BiblioUtils.pm index cb7baed0db..4d708ab813 100644 --- a/Koha/BiblioUtils.pm +++ b/Koha/BiblioUtils.pm @@ -146,7 +146,7 @@ sub get_all_biblios_iterator { my $row = $rs->next(); return if !$row; my $next = eval { - my $marc = $row->metadata->record({ embed_items => 1 }); + my $marc = $row->metadata_record({ embed_items => 1 }); $class->new($marc, $row->biblionumber); }; if ($@) { @@ -183,7 +183,7 @@ sub get_marc_biblio { my ($class, $bibnum, %options) = @_; my $record = Koha::Biblios->find($bibnum) - ->metadata->record( { $options{item_data} ? ( embed_items => 1 ) : () } ); + ->metadata_record( { $options{item_data} ? ( embed_items => 1 ) : () } ); return $record; } diff --git a/Koha/OAI/Server/Repository.pm b/Koha/OAI/Server/Repository.pm index 0cd0df5dcf..08e9529234 100644 --- a/Koha/OAI/Server/Repository.pm +++ b/Koha/OAI/Server/Repository.pm @@ -178,7 +178,12 @@ sub get_biblio_marcxml { } my $biblio = Koha::Biblios->find($biblionumber); - my $record = $biblio->metadata->record({ embed_items => $with_items, opac => 1 }); + my $record = $biblio->metadata_record( + { + embed_items => $with_items, + interface => 'opac' + } + ); if ( $expanded_avs ) { my $frameworkcode = GetFrameworkCode($biblionumber) || ''; my $record_processor = Koha::RecordProcessor->new( diff --git a/Koha/SearchEngine/Elasticsearch/Indexer.pm b/Koha/SearchEngine/Elasticsearch/Indexer.pm index 6101a3a372..002e900d0a 100644 --- a/Koha/SearchEngine/Elasticsearch/Indexer.pm +++ b/Koha/SearchEngine/Elasticsearch/Indexer.pm @@ -341,7 +341,7 @@ sub _get_record { if ( $self->index eq $Koha::SearchEngine::BIBLIOS_INDEX ) { my $biblio = Koha::Biblios->find($record_id); - $record = $biblio->metadata->record( { embed_items => 1 } ) + $record = $biblio->metadata_record( { embed_items => 1 } ) if $biblio; } else { $record = C4::AuthoritiesMarc::GetAuthority($record_id); diff --git a/basket/downloadcart.pl b/basket/downloadcart.pl index 806ad4959f..6013c75b19 100755 --- a/basket/downloadcart.pl +++ b/basket/downloadcart.pl @@ -64,7 +64,7 @@ if ($bib_list && $format) { foreach my $biblionumber (@bibs) { my $biblio = Koha::Biblios->find($biblionumber); - my $record = $biblio->metadata->record({ embed_items => 1 }); + my $record = $biblio->metadata_record({ embed_items => 1 }); next unless $record; if ($format eq 'iso2709') { diff --git a/basket/sendbasket.pl b/basket/sendbasket.pl index 21e42050a0..191a848cf7 100755 --- a/basket/sendbasket.pl +++ b/basket/sendbasket.pl @@ -71,7 +71,7 @@ if ( $email_add ) { my $biblio = Koha::Biblios->find( $biblionumber ) or next; my $dat = $biblio->unblessed; - my $record = $biblio->metadata->record({ embed_items => 1 }); + my $record = $biblio->metadata_record({ embed_items => 1 }); my $marcauthorsarray = $biblio->get_marc_contributors; my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour ); diff --git a/catalogue/ISBDdetail.pl b/catalogue/ISBDdetail.pl index d7431e8bc8..90bbb51f84 100755 --- a/catalogue/ISBDdetail.pl +++ b/catalogue/ISBDdetail.pl @@ -76,8 +76,8 @@ unless ( $biblionumber && $biblio ) { exit; } -my $record = $biblio->metadata->record({ embed_items => 1 }); - +my $record = + $biblio->metadata_record( { embed_items => 1, interface => 'intranet' } ); if ( not defined $record ) { # biblionumber invalid -> report and exit $template->param( unknownbiblionumber => 1, @@ -88,15 +88,6 @@ if ( not defined $record ) { } my $framework = $biblio->frameworkcode; -my $record_processor = Koha::RecordProcessor->new({ - filters => 'ViewPolicy', - options => { - interface => 'intranet', - frameworkcode => $framework - }, -}); -$record_processor->process($record); - my $res = GetISBDView({ 'record' => $record, 'template' => 'intranet', diff --git a/catalogue/MARCdetail.pl b/catalogue/MARCdetail.pl index 3f5e03a090..80704812ca 100755 --- a/catalogue/MARCdetail.pl +++ b/catalogue/MARCdetail.pl @@ -90,7 +90,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( ); my $biblio_object = Koha::Biblios->find( $biblionumber ); # FIXME Should replace $biblio -my $record = $biblio_object->metadata->record({ embed_items => 1 }); +my $record = $biblio_object->metadata_record({ embed_items => 1 }); if ( not defined $record ) { # biblionumber invalid -> report and exit diff --git a/catalogue/export.pl b/catalogue/export.pl index ff02cea67f..4e6d551766 100755 --- a/catalogue/export.pl +++ b/catalogue/export.pl @@ -28,7 +28,7 @@ if ($op eq "export") { my $file_pre = "bib-"; my $biblio = Koha::Biblios->find($biblionumber); - my $marc = $biblio->metadata->record({ embed_items => 1 }); + my $marc = $biblio->metadata_record({ embed_items => 1 }); if( C4::Context->preference('DefaultSaveRecordFileID') eq 'controlnumber' ){ my $marcflavour = C4::Context->preference('marcflavour'); #FIXME This option is required but does not change control num behaviour diff --git a/misc/batchRebuildItemsTables.pl b/misc/batchRebuildItemsTables.pl index 220876a8b8..b16cb0476f 100755 --- a/misc/batchRebuildItemsTables.pl +++ b/misc/batchRebuildItemsTables.pl @@ -74,7 +74,7 @@ while ( my ( $biblionumber, $biblioitemnumber, $frameworkcode ) = $sth->fetchrow $count++; warn $count unless $count % 1000; my $biblio = Koha::Biblios->find($biblionumber); - my $record = $biblio->metadata->record({ embed_items => 1 }); + my $record = $biblio->metadata_record({ embed_items => 1 }); unless ($record) { push @errors, "bad record biblionumber $biblionumber"; next; } diff --git a/misc/migration_tools/rebuild_zebra.pl b/misc/migration_tools/rebuild_zebra.pl index a73e7bdd2f..8c81a46541 100755 --- a/misc/migration_tools/rebuild_zebra.pl +++ b/misc/migration_tools/rebuild_zebra.pl @@ -683,7 +683,7 @@ sub get_raw_marc_record { if ($record_type eq 'biblio') { eval { my $biblio = Koha::Biblios->find($record_number); - $marc = $biblio->metadata->record({ embed_items => 1 }); + $marc = $biblio->metadata_record({ embed_items => 1 }); }; if ($@ || !$marc) { # here we do warn since catching an exception diff --git a/opac/opac-MARCdetail.pl b/opac/opac-MARCdetail.pl index 79f59938c6..188425f58e 100755 --- a/opac/opac-MARCdetail.pl +++ b/opac/opac-MARCdetail.pl @@ -95,7 +95,7 @@ my $biblio = Koha::Biblios->find($biblionumber); my $record = $biblio->metadata_record( { embed_items => 1, - opac => 1, + interface => 'opac', patron => $patron, } ); diff --git a/opac/opac-downloadcart.pl b/opac/opac-downloadcart.pl index 1f4b20d1fb..db103bacba 100755 --- a/opac/opac-downloadcart.pl +++ b/opac/opac-downloadcart.pl @@ -77,10 +77,10 @@ if ($bib_list && $format) { foreach my $biblionumber (@bibs) { my $biblio = Koha::Biblios->find($biblionumber); - my $record = $biblio->metadata->record( + my $record = $biblio->metadata_record( { embed_items => 1, - opac => 1, + interface => 'opac', patron => $patron, } ); diff --git a/opac/opac-downloadshelf.pl b/opac/opac-downloadshelf.pl index 2414d1566a..0d6f9e88a0 100755 --- a/opac/opac-downloadshelf.pl +++ b/opac/opac-downloadshelf.pl @@ -90,10 +90,10 @@ if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { my $biblionumber = $content->biblionumber; my $biblio = Koha::Biblios->find($biblionumber); - my $record = $biblio->metadata->record->( + my $record = $biblio->metadata_record( { embed_items => 1, - opac => 1, + interface => 'opac', patron => $patron, } ); diff --git a/opac/opac-export.pl b/opac/opac-export.pl index 1b0fdad59a..0679f48bdc 100755 --- a/opac/opac-export.pl +++ b/opac/opac-export.pl @@ -54,10 +54,10 @@ if ($userenv) { my $include_items = ($format =~ /bibtex/) ? 0 : 1; my $biblio = Koha::Biblios->find($biblionumber); my $marc = $biblio - ? $biblio->metadata->record( + ? $biblio->metadata_record( { embed_items => 1, - opac => 1, + interface => 'opac', patron => $patron, } ) diff --git a/opac/opac-sendbasket.pl b/opac/opac-sendbasket.pl index 1500446539..9e56cf86b3 100755 --- a/opac/opac-sendbasket.pl +++ b/opac/opac-sendbasket.pl @@ -75,10 +75,10 @@ if ( $email_add ) { my $biblio = Koha::Biblios->find( $biblionumber ) or next; my $dat = $biblio->unblessed; - my $record = $biblio->metadata->record( + my $record = $biblio->metadata_record( { embed_items => 1, - opac => 1, + interface => 'opac', patron => $patron, } ); diff --git a/opac/opac-sendshelf.pl b/opac/opac-sendshelf.pl index b9cec96b24..856b7f0996 100755 --- a/opac/opac-sendshelf.pl +++ b/opac/opac-sendshelf.pl @@ -81,10 +81,10 @@ if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { my $biblionumber = $content->biblionumber; my $biblio = Koha::Biblios->find( $biblionumber ) or next; my $dat = $biblio->unblessed; - my $record = $biblio->metadata->record( + my $record = $biblio->metadata_record( { embed_items => 1, - opac => 1, + iinterface => 'opac', patron => $patron, } ); diff --git a/opac/opac-tags.pl b/opac/opac-tags.pl index 4aec61ee73..0311113727 100755 --- a/opac/opac-tags.pl +++ b/opac/opac-tags.pl @@ -250,10 +250,10 @@ if ($loggedinuser) { foreach my $tag (@$my_tags) { $tag->{visible} = 0; my $biblio = Koha::Biblios->find( $tag->{biblionumber} ); - my $record = $biblio->metadata->record( + my $record = $biblio->metadata_record( { embed_items => 1, - opac => 1, + interface => 'opac', patron => $patron, } ); diff --git a/opac/opac-user.pl b/opac/opac-user.pl index ba45ddd237..4bcbf0286a 100755 --- a/opac/opac-user.pl +++ b/opac/opac-user.pl @@ -283,7 +283,13 @@ if ( $pending_checkouts->count ) { # Useless test my $isbn = GetNormalizedISBN($issue->{'isbn'}); $issue->{normalized_isbn} = $isbn; - my $marcrecord = $biblio_object->metadata->record({ embed_items => 1, opac => 1, patron => $patron,}); + my $marcrecord = $biblio_object->metadata_record( + { + embed_items => 1, + interface => 'opac', + patron => $patron + } + ); $issue->{normalized_upc} = GetNormalizedUPC( $marcrecord, C4::Context->preference('marcflavour') ); # My Summary HTML diff --git a/serials/subscription-add.pl b/serials/subscription-add.pl index c08142b897..323d90df13 100755 --- a/serials/subscription-add.pl +++ b/serials/subscription-add.pl @@ -365,7 +365,7 @@ sub redirect_add_subscription { my @additional_fields; my $biblio = Koha::Biblios->find($biblionumber); - my $record = $biblio->metadata->record({ embed_items => 1 }); + my $record = $biblio->metadata_record({ embed_items => 1 }); my $subscription_fields = Koha::AdditionalFields->search({ tablename => 'subscription' }); while ( my $field = $subscription_fields->next ) { my $value = $query->param('additional_field_' . $field->id); @@ -485,7 +485,7 @@ sub redirect_mod_subscription { my @additional_fields; my $biblio = Koha::Biblios->find($biblionumber); - my $record = $biblio->metadata->record({ embed_items => 1 }); + my $record = $biblio->metadata_record({ embed_items => 1 }); my $subscription_fields = Koha::AdditionalFields->search({ tablename => 'subscription' }); while ( my $field = $subscription_fields->next ) { my $value = $query->param('additional_field_' . $field->id); diff --git a/svc/bib b/svc/bib index d25d0710c6..edc12043dd 100755 --- a/svc/bib +++ b/svc/bib @@ -67,7 +67,7 @@ sub fetch_bib { my $query = shift; my $biblionumber = shift; my $biblio = Koha::Biblios->find( $biblionumber ); - my $record = $biblio->metadata->record({ embed_items => scalar $query->param('items') }); + my $record = $biblio->metadata_record({ embed_items => scalar $query->param('items') }); if (defined $record) { print $query->header(-type => 'text/xml',-charset => 'utf-8',); print $record->as_xml_record(); @@ -117,7 +117,7 @@ sub update_bib { C4::Biblio::ModBiblio( $record, $biblionumber, $frameworkcode ); my $biblio = Koha::Biblios->find( $biblionumber ); - my $new_record = $biblio->metadata->record({ embed_items => scalar $query->url_param('items') }); + my $new_record = $biblio->metadata_record({ embed_items => scalar $query->url_param('items') }); $result->{'status'} = "ok"; $result->{'biblionumber'} = $biblionumber; diff --git a/svc/new_bib b/svc/new_bib index 3ce32f6b7c..300e1133b3 100755 --- a/svc/new_bib +++ b/svc/new_bib @@ -88,7 +88,7 @@ sub add_bib { } $biblio = Koha::Biblios->find( $biblionumber ); - $new_record = $biblio->metadata->record({ embed_items => scalar $query->url_param('items') }); + $new_record = $biblio->metadata_record({ embed_items => scalar $query->url_param('items') }); $result->{'status'} = "ok"; $result->{'biblionumber'} = $biblionumber; my $xml = $new_record->as_xml_record(); diff --git a/tools/showdiffmarc.pl b/tools/showdiffmarc.pl index f981342a83..ddd9deb9d0 100755 --- a/tools/showdiffmarc.pl +++ b/tools/showdiffmarc.pl @@ -62,7 +62,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( if ( $type eq 'biblio' ) { my $biblio = Koha::Biblios->find( $recordid ); - $record = $biblio->metadata->record({ embed_items => 1 }); + $record = $biblio->metadata_record({ embed_items => 1 }); $recordTitle = $biblio->title; } elsif ( $type eq 'auth' ) { diff --git a/virtualshelves/downloadshelf.pl b/virtualshelves/downloadshelf.pl index 1138b530ce..9e73921c3b 100755 --- a/virtualshelves/downloadshelf.pl +++ b/virtualshelves/downloadshelf.pl @@ -69,7 +69,7 @@ if ($shelfid && $format) { while ( my $content = $contents->next ) { my $biblionumber = $content->biblionumber; my $biblio = Koha::Biblios->find($biblionumber); - my $record = $biblio->metadata->record({ embed_items => 1 }); + my $record = $biblio->metadata_record({ embed_items => 1 }); if ($format eq 'iso2709') { $output .= $record->as_usmarc(); } diff --git a/virtualshelves/sendshelf.pl b/virtualshelves/sendshelf.pl index 0dd51b78ea..75f2543517 100755 --- a/virtualshelves/sendshelf.pl +++ b/virtualshelves/sendshelf.pl @@ -78,7 +78,7 @@ if ($to_address) { my $biblionumber = $content->biblionumber; my $biblio = Koha::Biblios->find( $biblionumber ) or next; my $dat = $biblio->unblessed; - my $record = $biblio->metadata->record({ embed_items => 1 }); + my $record = $biblio->metadata_record({ embed_items => 1 }); my $marcauthorsarray = $biblio->get_marc_contributors; my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour ); -- 2.20.1