From bf515ec6d45ac78dd586c01c18d21703bfc60b17 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 8 Jun 2023 11:47:03 +0200 Subject: [PATCH] Bug 33955: Koha::Biblio::normalized_upc Signed-off-by: Chris Cormack Signed-off-by: Kyle M Hall Signed-off-by: Tomas Cohen Arazi --- C4/Koha.pm | 2 ++ Koha/Biblio.pm | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/C4/Koha.pm b/C4/Koha.pm index 7132910adf..c98665f2fa 100644 --- a/C4/Koha.pm +++ b/C4/Koha.pm @@ -581,6 +581,8 @@ sub display_marc_indicators { sub GetNormalizedUPC { my ($marcrecord,$marcflavour) = @_; + $marcflavour ||= C4::Context->preference('marcflavour'); + return unless $marcrecord; if ($marcflavour eq 'UNIMARC') { my @fields = $marcrecord->field('072'); diff --git a/Koha/Biblio.pm b/Koha/Biblio.pm index 3102f2163e..95c787860a 100644 --- a/Koha/Biblio.pm +++ b/Koha/Biblio.pm @@ -23,7 +23,7 @@ use List::MoreUtils qw( any ); use URI; use URI::Escape qw( uri_escape_utf8 ); -use C4::Koha qw( GetNormalizedISBN ); +use C4::Koha qw( GetNormalizedISBN GetNormalizedUPC ); use Koha::Database; use Koha::DateUtils qw( dt_from_string ); @@ -1280,6 +1280,20 @@ sub public_read_list { ]; } +=head3 normalized_upc + + my $normalized_upc = $biblio->normalized_upc + +Normalizes and returns the UPC value found in the MARC record. + +=cut + +sub normalized_upc { + my ($self) = @_; + my $marc_record = $self->metadata->record; + return C4::Koha::GetNormalizedUPC($marc_record); +} + =head3 to_api my $json = $biblio->to_api; -- 2.39.5