@@ -, +, @@
---
Koha/Biblio.pm | 12 +++-
.../opac-tmpl/bootstrap/en/modules/opac-user.tt | 8 ++--
t/db_dependent/BiblioObject.t | 58 ++++++++++++++++++++
3 files changed, 71 insertions(+), 7 deletions(-)
create mode 100755 t/db_dependent/BiblioObject.t
--- a/Koha/Biblio.pm
+++ a/Koha/Biblio.pm
@@ -37,14 +37,20 @@ Koha::Biblio - Koha Biblio Object class
=cut
-=head3 subtitle
+=head3 subtitles
+
+my @subtitles = $biblio->subtitles();
+
+Returns list of subtitles for a record.
+
+Keyword to MARC mapping for subtitle must be set for this method to return any possible values.
=cut
-sub subtitle {
+sub subtitles {
my ( $self ) = @_;
- return GetRecordValue( 'subtitle', GetMarcBiblio( $self->id() ), GetFrameworkCode( $self->id() ) );
+ return map { $_->{subfield} } @{ GetRecordValue( 'subtitle', GetMarcBiblio( $self->id ), $self->frameworkcode ) };
}
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
@@ -536,8 +536,8 @@
[% RESERVE.biblio.title %]
- [% FOREACH subtitl IN RESERVE.biblio.subtitle %]
- [% subtitl.subfield %]
+ [% FOREACH s IN RESERVE.biblio.subtitles %]
+ [% s %]
[% END %]
[% RESERVE.item.enumchron %]
@@ -621,9 +621,9 @@
--- a/t/db_dependent/BiblioObject.t
+++ a/t/db_dependent/BiblioObject.t
@@ -0,0 +1,58 @@
+#!/usr/bin/perl
+
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see .
+
+use Modern::Perl;
+
+use C4::Context;
+use C4::Biblio qw( AddBiblio );
+use Koha::Database;
+use Koha::Branches;
+use Koha::Borrowers;
+
+use Test::More tests => 4;
+
+use_ok('Koha::Biblio');
+use_ok('Koha::Biblios');
+
+my $schema = Koha::Database->new()->schema();
+$schema->storage->txn_begin();
+
+my $dbh = C4::Context->dbh;
+$dbh->{RaiseError} = 1;
+
+my @branches = Koha::Branches->search();
+my $borrower = Koha::Borrowers->search()->next();
+
+my $biblio = MARC::Record->new();
+$biblio->append_fields(
+ MARC::Field->new( '100', ' ', ' ', a => 'Hall, Kyle' ),
+ MARC::Field->new( '245', ' ', ' ', a => "Test Record", b => "Test Record Subtitle", b => "Another Test Record Subtitle" ),
+);
+my ( $biblionumber, $biblioitemnumber ) = AddBiblio( $biblio, '' );
+
+my $field_mappings = Koha::Database->new()->schema()->resultset('Fieldmapping');
+$field_mappings->delete();
+$field_mappings->create( { field => 'subtitle', fieldcode => '245', subfieldcode => 'b' } );
+
+$biblio = Koha::Biblios->find( $biblionumber );
+my @subtitles = $biblio->subtitles();
+is( $subtitles[0], 'Test Record Subtitle', 'Got first subtitle correctly' );
+is( $subtitles[1], 'Another Test Record Subtitle', 'Got second subtitle correctly' );
+
+$schema->storage->txn_rollback();
+
+1;
--
|