Bug 26507: Elasticsearch - Index records after storing new item
[koha.git] / Koha / Old / Checkout.pm
blob9dbc58e3a84d63848b8355eac614f979f85785e7
1 package Koha::Old::Checkout;
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>.
18 use Modern::Perl;
20 use Koha::Database;
22 use base qw(Koha::Object);
24 =head1 NAME
26 Koha::Old:Checkout - Koha checkout object for returned items
28 =head1 API
30 =head2 Class methods
32 =head3 item
34 my $item = $checkout->item;
36 Return the checked out item
38 =cut
40 sub item {
41 my ( $self ) = @_;
42 my $item_rs = $self->_result->item;
43 return Koha::Item->_new_from_dbic( $item_rs );
46 =head3 patron
48 my $patron = $checkout->patron
50 Return the patron for who the checkout has been done
52 =cut
54 sub patron {
55 my ( $self ) = @_;
56 my $patron_rs = $self->_result->borrower;
57 return unless $patron_rs;
58 return Koha::Patron->_new_from_dbic( $patron_rs );
61 =head3 to_api_mapping
63 This method returns the mapping for representing a Koha::Old::Checkout object
64 on the API.
66 =cut
68 sub to_api_mapping {
69 return {
70 issue_id => 'checkout_id',
71 borrowernumber => 'patron_id',
72 itemnumber => 'item_id',
73 date_due => 'due_date',
74 branchcode => 'library_id',
75 returndate => 'checkin_date',
76 lastreneweddate => 'last_renewed_date',
77 issuedate => 'checkout_date',
78 notedate => 'note_date',
82 =head2 Internal methods
84 =head3 _type
86 =cut
88 sub _type {
89 return 'OldIssue';