use Modern::Perl;
-use Carp;
use DateTime;
-use Try::Tiny;
+use Try::Tiny qw( catch try );
-use C4::Circulation qw(MarkIssueReturned);
+use C4::Circulation qw( LostItem MarkIssueReturned );
+use Koha::Checkouts::Renewals;
use Koha::Checkouts::ReturnClaims;
use Koha::Database;
-use Koha::DateUtils;
+use Koha::DateUtils qw( dt_from_string );
use Koha::Items;
use Koha::Libraries;
return Koha::Item->_new_from_dbic( $item_rs );
}
+=head3 account_lines
+
+my $account_lines = $checkout->account_lines;
+
+Return the checked out account_lines
+
+=cut
+
+sub account_lines {
+ my ( $self ) = @_;
+ my $account_lines_rs = $self->_result->account_lines;
+ return Koha::Account::Lines->_new_from_dbic( $account_lines_rs );
+}
+
=head3 library
my $library = $checkout->library;
sub patron {
my ( $self ) = @_;
- my $patron_rs = $self->_result->borrower;
+ my $patron_rs = $self->_result->patron;
return Koha::Patron->_new_from_dbic( $patron_rs );
}
return Koha::Patron->_new_from_dbic( $issuer_rs );
}
+=head3 renewals
+
+ my $renewals = $checkout->renewals;
+
+Return a Koha::Checkouts::Renewals set attached to this checkout
+
+=cut
+
+sub renewals {
+ my ( $self ) = @_;
+ my $renewals_rs = $self->_result->renewals;
+ return unless $renewals_rs;
+ return Koha::Checkouts::Renewals->_new_from_dbic( $renewals_rs );
+}
+
=head3 to_api_mapping
This method returns the mapping for representing a Koha::Checkout object
lastreneweddate => 'last_renewed_date',
issuedate => 'checkout_date',
notedate => 'note_date',
+ noteseen => 'note_seen',
};
}
=head3 claim_returned
-my $return_claim = $checkout->claim_returned();
+ my $return_claim = $checkout->claim_returned();
+
+This method sets the checkout as claimed return. It will:
+
+1. Add a new row to the `return_claims` table
+2. Set the item as lost using the 'ClaimReturnedLostValue'
+3. Charge a fee depending on the value of ClaimReturnedChargeFee
+3a. If set to charge, then accruing overdues will be halted
+3b. If set to charge, then any existing transfers will be cancelled
+ and the holding branch will be set back to 'frombranch'.
+4. The issue will be marked as returned as per the 'MarkLostItemsAsReturned' preference
=cut
);
}
catch {
- if ( $_->isa('Koha::Exceptions::Exception') ) {
+ if ( $_->isa('Koha::Exception') ) {
$_->rethrow();
}
else {
# ?
- Koha::Exceptions::Exception->throw( "Unhandled exception" );
+ Koha::Exception->throw( "Unhandled exception" );
}
};
}