@@ -, +, @@
notices
---
Koha/Biblio.pm | 32 +++++++++++++++++++
.../bug_3150_-_add_LIST_and_CART_notices.pl | 4 +--
.../mysql/en/mandatory/sample_notices.yml | 4 +--
t/db_dependent/Koha/Biblio/host_record.t | 8 ++++-
4 files changed, 43 insertions(+), 5 deletions(-)
--- a/Koha/Biblio.pm
+++ a/Koha/Biblio.pm
@@ -1322,6 +1322,38 @@ sub get_marc_host {
}
}
+=head3 get_marc_host_only
+
+ my $host = $biblio->get_marc_host_only;
+
+Return host only
+
+=cut
+
+sub get_marc_host_only {
+ my ($self) = @_;
+
+ my ( $host, $relatedparts ) = $self->get_marc_host;
+
+ return $host;
+}
+
+=head3 get_marc_relatedparts_only
+
+ my $relatedparts = $biblio->get_marc_relatedparts_only;
+
+Return related parts only
+
+=cut
+
+sub get_marc_relatedparts_only {
+ my ($self) = @_;
+
+ my ( $host, $relatedparts ) = $self->get_marc_host;
+
+ return $relatedparts;
+}
+
=head3 recalls
my $recalls = $biblio->recalls;
--- a/installer/data/mysql/atomicupdate/bug_3150_-_add_LIST_and_CART_notices.pl
+++ a/installer/data/mysql/atomicupdate/bug_3150_-_add_LIST_and_CART_notices.pl
@@ -28,7 +28,7 @@ Please note that the attached file is a MARC bibliographic records file which ca
[% IF ( biblio.unititle ) %]Unified title: [% biblio.unititle | html %]
[% END %]
[% IF ( biblio.serial ) %]Serial: [% biblio.serial | html %]
[% END %]
[% IF ( biblioitem.lccn ) %]LCCN: [% biblioitem.lccn | html %]
[% END %]
-[% IF ( biblio.get_marc_host ) %]In: [% FOREACH entry IN biblio.get_marc_host %][% entry.title | html %][% IF ( entry.subtitle ) %][% FOREACH subtitle IN entry.subtitle.split(' | ') %][% subtitle | html %][% END %][% END %][% entry.part_number | html %] [% entry.part_name | html %]
[% END %][% END %]
+[% IF ( biblio.get_marc_host_only ) %]In: [% FOREACH entry IN biblio.get_marc_host_only %][% entry.title | html %][% IF ( entry.subtitle ) %][% FOREACH subtitle IN entry.subtitle.split(' | ') %][% subtitle | html %][% END %][% END %][% entry.part_number | html %] [% entry.part_name | html %]
[% END %] [% biblio.get_marc_relatedparts_only %][% END %]
[% IF ( biblioitem.url ) %]URL: [% biblioitem.url | html %]
[% END %]
View in online catalog
[% IF ( biblio.items.count > 0 ) %]
Items:
[% FOREACH item IN biblio.items %]- [% Branches.GetName( item.holdingbranch ) | html %]
@@ -56,7 +56,7 @@ Please note that the attached file is a MARC bibliographic records file which ca
[% IF ( biblio.unititle ) %]Unified title: [% biblio.unititle | html %]
[% END %]
[% IF ( biblio.serial ) %]Serial: [% biblio.serial | html %]
[% END %]
[% IF ( biblioitem.lccn ) %]LCCN: [% biblioitem.lccn | html %]
[% END %]
-[% IF ( biblio.get_marc_host ) %]In: [% FOREACH entry IN biblio.get_marc_host %][% entry.title | html %][% IF ( entry.subtitle ) %][% FOREACH subtitle IN entry.subtitle.split(' | ') %][% subtitle | html %][% END %][% END %][% entry.part_number | html %] [% entry.part_name | html %]
[% END %][% END %]
+[% IF ( biblio.get_marc_host_only ) %]In: [% FOREACH entry IN biblio.get_marc_host_only %][% entry.title | html %][% IF ( entry.subtitle ) %][% FOREACH subtitle IN entry.subtitle.split(' | ') %][% subtitle | html %][% END %][% END %][% entry.part_number | html %] [% entry.part_name | html %]
[% END %] [% biblio.get_marc_relatedparts_only %][% END %]
[% IF ( biblioitem.url ) %]URL: [% biblioitem.url | html %]
[% END %]
View in online catalog
[% IF ( biblio.items.count > 0 ) %]
Items: [% FOREACH item IN biblio.items %]- [% Branches.GetName( item.holdingbranch ) | html %]
--- a/installer/data/mysql/en/mandatory/sample_notices.yml
+++ a/installer/data/mysql/en/mandatory/sample_notices.yml
@@ -2215,7 +2215,7 @@ tables:
- "[% IF ( biblio.unititle ) %]Unified title: [% biblio.unititle | html %]
[% END %]"
- "[% IF ( biblio.serial ) %]Serial: [% biblio.serial | html %]
[% END %]"
- "[% IF ( biblioitem.lccn ) %]LCCN: [% biblioitem.lccn | html %]
[% END %]"
- - "[% IF ( biblio.get_marc_host ) %]In: [% FOREACH entry IN biblio.get_marc_host %][% entry.title | html %][% IF ( entry.subtitle ) %][% FOREACH subtitle IN entry.subtitle.split(' | ') %][% subtitle | html %][% END %][% END %][% entry.part_number | html %] [% entry.part_name | html %]
[% END %][% END %]"
+ - "[% IF ( biblio.get_marc_host_only ) %]In: [% FOREACH entry IN biblio.get_marc_host_only %][% entry.title | html %][% IF ( entry.subtitle ) %][% FOREACH subtitle IN entry.subtitle.split(' | ') %][% subtitle | html %][% END %][% END %][% entry.part_number | html %] [% entry.part_name | html %]
[% END %] [% biblio.get_marc_relatedparts_only %][% END %]"
- "[% IF ( biblioitem.url ) %]URL: [% biblioitem.url | html %]
[% END %]"
- "[View in online catalog"
- "[% IF ( biblio.items.count > 0 ) %]
Items: [% FOREACH item IN biblio.items %]- [% Branches.GetName( item.holdingbranch ) | html %]"
@@ -2250,7 +2250,7 @@ tables:
- "[% IF ( biblio.unititle ) %]Unified title: [% biblio.unititle | html %]
[% END %]"
- "[% IF ( biblio.serial ) %]Serial: [% biblio.serial | html %]
[% END %]"
- "[% IF ( biblioitem.lccn ) %]LCCN: [% biblioitem.lccn | html %]
[% END %]"
- - "[% IF ( biblio.get_marc_host ) %]In: [% FOREACH entry IN biblio.get_marc_host %][% entry.title | html %][% IF ( entry.subtitle ) %][% FOREACH subtitle IN entry.subtitle.split(' | ') %][% subtitle | html %][% END %][% END %][% entry.part_number | html %] [% entry.part_name | html %]
[% END %][% END %]"
+ - "[% IF ( biblio.get_marc_host_only ) %]In: [% FOREACH entry IN biblio.get_marc_host_only %][% entry.title | html %][% IF ( entry.subtitle ) %][% FOREACH subtitle IN entry.subtitle.split(' | ') %][% subtitle | html %][% END %][% END %][% entry.part_number | html %] [% entry.part_name | html %]
[% END %] [% biblio.get_marc_relatedparts_only %][% END %]"
- "[% IF ( biblioitem.url ) %]URL: [% biblioitem.url | html %]
[% END %]"
- "View in online catalog"
- "[% IF ( biblio.items.count > 0 ) %]
Items: [% FOREACH item IN biblio.items %]- [% Branches.GetName( item.holdingbranch ) | html %]"
--- a/t/db_dependent/Koha/Biblio/host_record.t
+++ a/t/db_dependent/Koha/Biblio/host_record.t
@@ -36,7 +36,7 @@ $schema->storage->txn_begin;
our $builder = t::lib::TestBuilder->new;
subtest 'get_marc_host' => sub {
- plan tests => 15;
+ plan tests => 17;
t::lib::Mocks::mock_preference( 'marcflavour', 'MARC21' );
t::lib::Mocks::mock_preference( 'MARCOrgCode', 'xyz' );
@@ -92,6 +92,12 @@ subtest 'get_marc_host' => sub {
( $host, $relatedparts, $info ) = $bib1->get_marc_host;
is( $host, undef, 'No Koha Biblio object returned with no $w' );
is( $info, "title, relpart", '773$atg returned when no $w' );
+
+ my $host_only = $bib1->get_marc_host_only;
+ is_deeply( $host_only, $host, "Host only retrieved successfully" );
+ my $relatedparts_only = $bib1->get_marc_relatedparts_only;
+ is_deeply( $relatedparts_only, $relatedparts, "Related parts only retrieved successfully" );
+
$marc->field('773')->delete_subfield( code => 't' ); # restore
# Add second 773
--