use base qw(Koha::Object);
-use Koha::Items;
-use Koha::Biblioitems;
-use Koha::ArticleRequests;
use Koha::ArticleRequest::Status;
+use Koha::ArticleRequests;
+use Koha::Biblio::Metadatas;
+use Koha::Biblioitems;
use Koha::IssuingRules;
use Koha::Item::Transfer::Limits;
+use Koha::Items;
use Koha::Libraries;
use Koha::Subscriptions;
return $self->SUPER::store;
}
+=head3 metadata
+
+my $metadata = $biblio->metadata();
+
+Returns a Koha::Biblio::Metadata object
+
+=cut
+
+sub metadata {
+ my ( $self ) = @_;
+
+ $self->{_metadata} ||= Koha::Biblio::Metadatas->find( { biblionumber => $self->id } );
+
+ return $self->{_metadata};
+}
+
=head3 subtitles
my @subtitles = $biblio->subtitles();
use Carp;
+use C4::Biblio qw();
+
use Koha::Database;
use base qw(Koha::Object);
=cut
+=head3 record
+
+my @record = $biblio->record($params);
+
+Returns a MARC::Record object for a record.
+
+This method accepts the same paramters as C4::Biblio::GetMarcBiblio,
+but does not require the 'biblionumber' parameter.
+
+=cut
+
+sub record {
+ my ( $self, $params ) = @_;
+
+ $params->{biblionumber} = $self->biblionumber;
+
+ my $record = C4::Biblio::GetMarcBiblio($params);
+
+ return $record;
+}
+
+
=head3 type
=cut
--- /dev/null
+#!/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 <http://www.gnu.org/licenses>.
+
+use Modern::Perl;
+
+use Test::More tests => 3;
+
+use C4::Biblio;
+use Koha::Database;
+
+BEGIN {
+ use_ok('Koha::Biblio');
+ use_ok('Koha::Biblios');
+}
+
+my $schema = Koha::Database->new->schema;
+
+subtest 'metadata() tests' => sub {
+
+ plan tests => 4;
+
+ $schema->storage->txn_begin;
+
+ my $title = 'Oranges and Peaches';
+
+ my $record = MARC::Record->new();
+ my $field = MARC::Field->new('245','','','a' => $title);
+ $record->append_fields( $field );
+ my ($biblionumber) = C4::Biblio::AddBiblio($record, '');
+
+ my $biblio = Koha::Biblios->find( $biblionumber );
+ is( ref $biblio, 'Koha::Biblio', 'Found a Koha::Biblio object' );
+
+ my $metadata = $biblio->metadata;
+ is( ref $metadata, 'Koha::Biblio::Metadata', 'Method metadata() returned a Koha::Biblio::Metadata object' );
+
+ my $record2 = $metadata->record;
+ is( ref $record2, 'MARC::Record', 'Method record() returned a MARC::Record object' );
+
+ is( $record2->field('245')->subfield("a"), $title, 'Title in 245$a matches title from original record object' );
+
+ $schema->storage->txn_rollback;
+};