Bug 3150: (follow-up) Make sure host information displays for unlinked records

When the 773 entry is not linked to a record using $w or
Easyanalytics we still want to display the information
about the source/host item in the emails.

To test:
1. Activate the UseControlNumber system preference
2. Search for a record and make sure it has 001 set to some value.
3. Use Edit > Add child record to create an analytical record from this record.
4. Make sure 773$w was filled in and finish by adding any mandatory fields, save.
5. Add this record to your cart. Also add a 773$g with the pages or similar.
6. Create another record with 773$t and $g, but without $w.
7. Also add this record to your cart.
8. Add a few other records to the cart.
9. Host item information (In: ) should display for all entries with 773 in the record.

This also makes use of the biblio-title include to display the
different parts of the title (245$abnp), if the record is linked.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Katrin Fischer 2023-03-07 17:51:09 +00:00 committed by Tomas Cohen Arazi
parent 2896077b19
commit d123287b18
Signed by: tomascohen
GPG key ID: 0A272EA1B2F3C15F
4 changed files with 27 additions and 5 deletions

View file

@ -1354,6 +1354,22 @@ sub get_marc_relatedparts_only {
return $relatedparts;
}
=head3 get_marc_hostinfo_only
my $hostinfo = $biblio->get_marc_hostinfo_only;
Return host info only
=cut
sub get_marc_hostinfo_only {
my ($self) = @_;
my ( $host, $relatedparts, $hostinfo ) = $self->get_marc_host;
return $hostinfo;
}
=head3 recalls
my $recalls = $biblio->recalls;

View file

@ -11,6 +11,7 @@ return {
('catalogue','LIST','','Send list',1,'Your list: [% listname | html %]',"[%- USE Branches -%]
[%- USE AuthorisedValues -%]
[%- USE Koha -%]
[%- PROCESS 'html_helpers.inc' -%]
Hi,<br><br>
[% borrower.firstname | html %] [% borrower.surname | html %] sent you a list from our online catalog called: [% listname | html %].<br>
Please note that the attached file is a MARC bibliographic records file which can be imported into personal bibliographic software like EndNote, Reference Manager or ProCite.<br>
@ -28,7 +29,7 @@ Please note that the attached file is a MARC bibliographic records file which ca
[% IF ( biblio.unititle ) %]Unified title: [% biblio.unititle | html %]<br>[% END %]
[% IF ( biblio.serial ) %]Serial: [% biblio.serial | html %]<br>[% END %]
[% IF ( biblioitem.lccn ) %]LCCN: [% biblioitem.lccn | html %]<br>[% 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 %]<br>[% END %] [% biblio.get_marc_relatedparts_only %][% END %]
[% IF ( biblio.get_marc_host_only || biblio.get_marc_hostinfo_only ) %]In: [% IF biblio.get_marc_host_only.biblionumber %][% INCLUDE 'biblio-title.inc' biblio=biblio.get_marc_host_only %] [% biblio.get_marc_relatedparts_only %][% ELSE %][% biblio.get_marc_hostinfo_only %][% END %]<br>[% END %]
[% IF ( biblioitem.url ) %]URL: [% biblioitem.url | html %]<br>[% END %]
<a href='[% Koha.Preference('OpacBaseUrl') %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | html %]'>View in online catalog</a>
[% IF ( biblio.items.count > 0 ) %]<br>Items: <ul>[% FOREACH item IN biblio.items %]<li>[% Branches.GetName( item.holdingbranch ) | html %]
@ -39,6 +40,7 @@ Please note that the attached file is a MARC bibliographic records file which ca
('catalogue','CART','','Send cart',1,'Your cart',"[%- USE Branches -%]
[%- USE AuthorisedValues -%]
[%- USE Koha -%]
[%- PROCESS 'html_helpers.inc' -%]
Hi,<br><br>
[% borrower.firstname | html %] [% borrower.surname | html %] sent you a cart from our online catalog.<br>
Please note that the attached file is a MARC bibliographic records file which can be imported into personal bibliographic software like EndNote, Reference Manager or ProCite.<br>
@ -56,7 +58,7 @@ Please note that the attached file is a MARC bibliographic records file which ca
[% IF ( biblio.unititle ) %]Unified title: [% biblio.unititle | html %]<br>[% END %]
[% IF ( biblio.serial ) %]Serial: [% biblio.serial | html %]<br>[% END %]
[% IF ( biblioitem.lccn ) %]LCCN: [% biblioitem.lccn | html %]<br>[% 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 %]<br>[% END %] [% biblio.get_marc_relatedparts_only %][% END %]
[% IF ( biblio.get_marc_host_only || biblio.get_marc_hostinfo_only ) %]In: [% IF biblio.get_marc_host_only.biblionumber %][% INCLUDE 'biblio-title.inc' biblio=biblio.get_marc_host_only %] [% biblio.get_marc_relatedparts_only %][% ELSE %][% biblio.get_marc_hostinfo_only %][% END %]<br>[% END %]
[% IF ( biblioitem.url ) %]URL: [% biblioitem.url | html %]<br>[% END %]
<a href='[% Koha.Preference('OpacBaseUrl') %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | html %]'>View in online catalog</a>
[% IF ( biblio.items.count > 0 ) %]<br>Items: <ul>[% FOREACH item IN biblio.items %]<li>[% Branches.GetName( item.holdingbranch ) | html %]

View file

@ -2302,6 +2302,7 @@ tables:
- "[%- USE Branches -%]"
- "[%- USE AuthorisedValues -%]"
- "[%- USE Koha -%]"
- "[%- PROCESS 'html_helpers.inc' -%]"
- "Hi,<br><br>"
- "[% borrower.firstname | html %] [% borrower.surname | html %] sent you a list from our online catalog called: [% listname | html %].<br>"
- "Please note that the attached file is a MARC bibliographic records file which can be imported into personal bibliographic software like EndNote, Reference Manager or ProCite.<br>"
@ -2318,7 +2319,7 @@ tables:
- "[% IF ( biblio.unititle ) %]Unified title: [% biblio.unititle | html %]<br>[% END %]"
- "[% IF ( biblio.serial ) %]Serial: [% biblio.serial | html %]<br>[% END %]"
- "[% IF ( biblioitem.lccn ) %]LCCN: [% biblioitem.lccn | html %]<br>[% 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 %]<br>[% END %] [% biblio.get_marc_relatedparts_only %][% END %]"
- "[% IF ( biblio.get_marc_host_only || biblio.get_marc_hostinfo_only ) %]In: [% IF biblio.get_marc_host_only.biblionumber %][% INCLUDE 'biblio-title.inc' biblio=biblio.get_marc_host_only %] [% biblio.get_marc_relatedparts_only %][% ELSE %][% biblio.get_marc_hostinfo_only %][% END %]<br>[% END %]"
- "[% IF ( biblioitem.url ) %]URL: [% biblioitem.url | html %]<br>[% END %]"
- "[<a href='[% Koha.Preference('OpacBaseUrl') %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | html %]'>View in online catalog</a>"
- "[% IF ( biblio.items.count > 0 ) %]<br>Items: <ul>[% FOREACH item IN biblio.items %]<li>[% Branches.GetName( item.holdingbranch ) | html %]"
@ -2337,6 +2338,7 @@ tables:
- "[%- USE Branches -%]"
- "[%- USE AuthorisedValues -%]"
- "[%- USE Koha -%]"
- "[%- PROCESS 'html_helpers.inc' -%]"
- "Hi,<br><br>"
- "[% borrower.firstname | html %] [% borrower.surname | html %] sent you a cart from our online catalog.<br>"
- "Please note that the attached file is a MARC bibliographic records file which can be imported into personal bibliographic software like EndNote, Reference Manager or ProCite.<br>"
@ -2353,7 +2355,7 @@ tables:
- "[% IF ( biblio.unititle ) %]Unified title: [% biblio.unititle | html %]<br>[% END %]"
- "[% IF ( biblio.serial ) %]Serial: [% biblio.serial | html %]<br>[% END %]"
- "[% IF ( biblioitem.lccn ) %]LCCN: [% biblioitem.lccn | html %]<br>[% 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 %]<br>[% END %] [% biblio.get_marc_relatedparts_only %][% END %]"
- "[% IF ( biblio.get_marc_host_only || biblio.get_marc_hostinfo_only ) %]In: [% IF biblio.get_marc_host_only.biblionumber %][% INCLUDE 'biblio-title.inc' biblio=biblio.get_marc_host_only %] [% biblio.get_marc_relatedparts_only %][% ELSE %][% biblio.get_marc_hostinfo_only %][% END %]<br>[% END %]"
- "[% IF ( biblioitem.url ) %]URL: [% biblioitem.url | html %]<br>[% END %]"
- "<a href='[% Koha.Preference('OpacBaseUrl') %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | html %]'>View in online catalog</a>"
- "[% IF ( biblio.items.count > 0 ) %]<br>Items: <ul>[% FOREACH item IN biblio.items %]<li>[% Branches.GetName( item.holdingbranch ) | html %]"

View file

@ -36,7 +36,7 @@ $schema->storage->txn_begin;
our $builder = t::lib::TestBuilder->new;
subtest 'get_marc_host' => sub {
plan tests => 17;
plan tests => 18;
t::lib::Mocks::mock_preference( 'marcflavour', 'MARC21' );
t::lib::Mocks::mock_preference( 'MARCOrgCode', 'xyz' );
@ -97,6 +97,8 @@ subtest 'get_marc_host' => sub {
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" );
my $hostinfo_only = $bib1->get_marc_hostinfo_only;
is_deeply( $hostinfo_only, $info, "Host info only retrieved successfully");
$marc->field('773')->delete_subfield( code => 't' ); # restore