1 package Koha::Acquisition::Basket;
3 # Copyright 2017 Aleisha Amohia <aleisha@catalyst.net.nz>
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
12 # Koha is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with Koha; if not, see <http://www.gnu.org/licenses>.
23 use Koha::Acquisition::BasketGroups;
26 use base qw( Koha::Object Koha::Object::Mixin::AdditionalFields );
30 Koha::Acquisition::Basket - Koha Basket Object class
46 my $bookseller_rs = $self->_result->booksellerid;
47 return Koha::Acquisition::Bookseller->_new_from_dbic( $bookseller_rs );
52 my $creator = $basket->creator;
54 Returns the I<Koha::Patron> for the basket creator.
60 my $borrowernumber = $self->authorisedby; # FIXME missing FK here
61 return unless $borrowernumber;
62 return Koha::Patrons->find( $borrowernumber );
67 Returns the basket group associated to this basket
74 my $basket_group_rs = $self->_result->basket_group;
75 return unless $basket_group_rs;
76 return Koha::Acquisition::BasketGroup->_new_from_dbic( $basket_group_rs );
79 =head3 effective_create_items
81 Returns C<create_items> for this basket, falling back to C<AcqCreateItem> if unset.
85 sub effective_create_items {
88 return $self->create_items || C4::Context->preference('AcqCreateItem');
93 my $json = $basket->to_api;
95 Overloaded method that returns a JSON representation of the Koha::Acquisition::Basket object,
96 suitable for API output.
101 my ( $self, $params ) = @_;
103 my $json = $self->SUPER::to_api( $params );
105 $json->{closed} = ( $self->closedate )
112 =head3 to_api_mapping
114 This method returns the mapping for representing a Koha::Acquisition::Basket object
121 basketno => 'basket_id',
122 basketname => 'name',
123 booksellernote => 'vendor_note',
124 contractnumber => 'contract_id',
125 creationdate => 'creation_date',
126 closedate => 'close_date',
127 booksellerid => 'vendor_id',
128 authorisedby => 'creator_id',
129 booksellerinvoicenumber => undef,
130 basketgroupid => 'basket_group_id',
131 deliveryplace => 'delivery_library_id',
132 billingplace => 'billing_library_id',
133 branch => 'library_id',
134 is_standing => 'standing'
138 =head2 Internal methods
150 Aleisha Amohia <aleisha@catalyst.net.nz>