1 package Koha::Acquisition::Bookseller;
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>.
20 use Koha::Acquisition::Bookseller::Aliases;
21 use Koha::Acquisition::Bookseller::Contacts;
22 use Koha::Subscriptions;
24 use base qw( Koha::Object );
28 Koha::Acquisition::Bookseller Object class
36 my $vendor = Koha::Acquisition::Booksellers->find( $id );
37 my @baskets = $vendor->baskets();
39 Returns the list of baskets for the vendor
45 my $baskets_rs = $self->_result->aqbaskets;
46 return Koha::Acquisition::Baskets->_new_from_dbic( $baskets_rs );
51 my $vendor = Koha::Acquisition::Booksellers->find( $id );
52 my @contacts = $vendor->contacts();
54 Returns the list of contacts for the vendor
60 my $contacts_rs = $self->_result->aqcontacts;
61 return Koha::Acquisition::Bookseller::Contacts->_new_from_dbic( $contacts_rs );
66 my $vendor = Koha::Acquisition::Booksellers->find( $id );
67 my $subscriptions = $vendor->subscriptions();
69 Returns the list of subscriptions for the vendor
76 # FIXME FK missing at DB level
77 return Koha::Subscriptions->search( { aqbooksellerid => $self->id } );
82 my $aliases = $vendor->aliases
84 $vendor->aliases([{ alias => 'one alias'}]);
89 my ($self, $aliases) = @_;
92 my $schema = $self->_result->result_source->schema;
95 $self->aliases->delete;
96 for my $alias (@$aliases) {
97 $self->_result->add_to_aqbookseller_aliases($alias);
103 my $rs = $self->_result->aqbookseller_aliases;
104 return Koha::Acquisition::Bookseller::Aliases->_new_from_dbic( $rs );
108 =head3 to_api_mapping
110 This method returns the mapping for representing a Koha::Acquisition::Bookseller object
117 listprice => 'list_currency',
118 invoiceprice => 'invoice_currency',
120 listincgst => 'list_includes_gst',
121 invoiceincgst => 'invoice_includes_gst'
125 =head2 Internal methods
132 return 'Aqbookseller';