1 package Koha::ERM::EHoldings::Resource;
3 # This file is part of Koha.
5 # Koha is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
10 # Koha is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with Koha; if not, see <http://www.gnu.org/licenses>.
24 use Koha::Acquisition::Booksellers;
26 use Koha::ERM::EHoldings::Titles;
27 use Koha::ERM::EHoldings::Packages;
29 use base qw(Koha::Object);
33 Koha::ERM::EHoldings::Resource - Koha EHolding resource Object class
48 # FIXME This is terrible and ugly, we need to:
49 # * Provide a mapping for each attribute of title
50 # * Deal with marcflavour
52 my $title = $self->title;
53 my $biblio = $title->biblio_id ? Koha::Biblios->find($title->biblio_id) : undef;
54 my $marc_record = $biblio ? $biblio->metadata->record : MARC::Record->new;
55 eval {$marc_record->field('245')->delete_subfield('a');};
56 $marc_record->add_fields(MARC::Field->new(245, '', '', a => $title->publication_title));
60 $biblio_id = $title->biblio_id;
61 C4::Biblio::ModBiblio($marc_record, $title->biblio_id, '');
63 ( $biblio_id ) = C4::Biblio::AddBiblio($marc_record, '');
66 $title->biblio_id($biblio_id)->store;
68 $self = $self->SUPER::store;
74 Return the package for this resource
80 my $package_rs = $self->_result->package;
81 return Koha::ERM::EHoldings::Package->_new_from_dbic($package_rs);
86 Return the title for this resource
92 my $title_rs = $self->_result->title;
93 return Koha::ERM::EHoldings::Title->_new_from_dbic($title_rs);
98 Return the vendor for this resource
104 my $vendor_rs = $self->_result->vendor;
105 return unless $vendor_rs;
106 return Koha::Acquisition::Bookseller->_new_from_dbic($vendor_rs);
110 =head2 Internal methods
117 return 'ErmEholdingsResource';