X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=Koha%2FCheckout.pm;h=178a8c0da4aa0bfa56efefc3160d891a22abdcb1;hb=689446fda0fa665202c9e32c50705ba828337c94;hp=6af0179fe502fe06aa44da36e7cca3b0f9cb2402;hpb=0e46d4017f310d6011ef66eb2611b6524dc4044c;p=koha-ffzg.git diff --git a/Koha/Checkout.pm b/Koha/Checkout.pm index 6af0179fe5..178a8c0da4 100644 --- a/Koha/Checkout.pm +++ b/Koha/Checkout.pm @@ -20,14 +20,14 @@ package Koha::Checkout; 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; @@ -79,6 +79,20 @@ sub item { 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; @@ -103,7 +117,7 @@ Return the patron for who the checkout has been done sub patron { my ( $self ) = @_; - my $patron_rs = $self->_result->borrower; + my $patron_rs = $self->_result->patron; return Koha::Patron->_new_from_dbic( $patron_rs ); } @@ -122,6 +136,21 @@ sub issuer { 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 @@ -140,12 +169,23 @@ sub to_api_mapping { 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 @@ -189,12 +229,12 @@ sub claim_returned { ); } catch { - if ( $_->isa('Koha::Exceptions::Exception') ) { + if ( $_->isa('Koha::Exception') ) { $_->rethrow(); } else { # ? - Koha::Exceptions::Exception->throw( "Unhandled exception" ); + Koha::Exception->throw( "Unhandled exception" ); } }; }