@@ -, +, @@ --- C4/Circulation.pm | 18 +++----- Koha/Account.pm | 29 ++++++++----- .../prog/en/includes/accounts.inc | 43 ++++++++++--------- .../bootstrap/en/includes/account-table.inc | 6 ++- 4 files changed, 54 insertions(+), 42 deletions(-) --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -1471,15 +1471,14 @@ sub AddIssue { # If it costs to borrow this book, charge it to the patron's account. my ( $charge, $itemtype ) = GetIssuingCharges( $item_object->itemnumber, $borrower->{'borrowernumber'} ); if ( $charge > 0 ) { - my $description = "Rental"; - AddIssuingCharge( $issue, $charge, $description ); + AddIssuingCharge( $issue, $charge, 'rent' ); } my $itemtype_object = Koha::ItemTypes->find( $item_object->effective_itemtype ); if ( $itemtype_object ) { my $accumulate_charge = $fees->accumulate_rentalcharge(); if ( $accumulate_charge > 0 ) { - AddIssuingCharge( $issue, $accumulate_charge, 'Daily rental' ) if $accumulate_charge > 0; + AddIssuingCharge( $issue, $accumulate_charge, 'rent_daily' ) if $accumulate_charge > 0; $charge += $accumulate_charge; $item_unblessed->{charge} = $charge; } @@ -2910,8 +2909,7 @@ sub AddRenewal { # Charge a new rental fee, if applicable my ( $charge, $type ) = GetIssuingCharges( $itemnumber, $borrowernumber ); if ( $charge > 0 ) { - my $description = "Renewal of Rental Item " . $biblio->title . " " .$item_object->barcode; - AddIssuingCharge($issue, $charge, $description); + AddIssuingCharge($issue, $charge, 'rent_renew'); } # Charge a new accumulate rental fee, if applicable @@ -2919,8 +2917,7 @@ sub AddRenewal { if ( $itemtype_object ) { my $accumulate_charge = $fees->accumulate_rentalcharge(); if ( $accumulate_charge > 0 ) { - my $type_desc = "Renewal of Daily Rental Item " . $biblio->title . " $item_unblessed->{'barcode'}"; - AddIssuingCharge( $issue, $accumulate_charge, $type_desc ) + AddIssuingCharge( $issue, $accumulate_charge, 'rent_daily_renew' ) } $charge += $accumulate_charge; } @@ -3242,12 +3239,12 @@ sub _get_discount_from_rule { =head2 AddIssuingCharge - &AddIssuingCharge( $checkout, $charge, [$description] ) + &AddIssuingCharge( $checkout, $charge, $type ) =cut sub AddIssuingCharge { - my ( $checkout, $charge, $description ) = @_; + my ( $checkout, $charge, $type ) = @_; # FIXME What if checkout does not exist? @@ -3255,12 +3252,11 @@ sub AddIssuingCharge { my $accountline = $account->add_debit( { amount => $charge, - description => $description, note => undef, user_id => C4::Context->userenv ? C4::Context->userenv->{'number'} : undef, library_id => C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef, interface => C4::Context->interface, - type => 'rent', + type => $type, item_id => $checkout->itemnumber, issue_id => $checkout->issue_id, } --- a/Koha/Account.pm +++ a/Koha/Account.pm @@ -432,6 +432,9 @@ $debit_type can be any of: - sundry - processing - rent + - rent_daily + - rent_renewal + - rent_daily_renewal - reserve - manual @@ -697,6 +700,9 @@ our $offset_type = { 'processing' => 'Processing Fee', 'lost_item' => 'Lost Item', 'rent' => 'Rental Fee', + 'rent_daily' => 'Rental Fee', + 'rent_renew' => 'Rental Fee', + 'rent_daily_renew' => 'Rental Fee', 'overdue' => 'OVERDUE', 'manual_debit' => 'Manual Debit', 'hold_expired' => 'Hold Expired' @@ -719,16 +725,19 @@ our $account_type_credit = { =cut our $account_type_debit = { - 'account' => 'A', - 'overdue' => 'OVERDUE', - 'lost_item' => 'LOST', - 'new_card' => 'N', - 'sundry' => 'M', - 'processing' => 'PF', - 'rent' => 'Rent', - 'reserve' => 'Res', - 'manual_debit' => 'M', - 'hold_expired' => 'HE' + 'account' => 'A', + 'overdue' => 'OVERDUE', + 'lost_item' => 'LOST', + 'new_card' => 'N', + 'sundry' => 'M', + 'processing' => 'PF', + 'rent' => 'RENT', + 'rent_daily' => 'RENT_DAILY', + 'rent_renew' => 'RENT_RENEW', + 'rent_daily_renew' => 'RENT_DAILY_RENEW', + 'reserve' => 'Res', + 'manual_debit' => 'M', + 'hold_expired' => 'HE' }; =head1 AUTHORS --- a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc @@ -1,25 +1,28 @@ [%- BLOCK account_type_description -%] [%- SWITCH account.accounttype -%] - [%- CASE 'Pay' -%]Payment - [%- CASE 'Pay00' -%]Payment (cash via SIP2) - [%- CASE 'Pay01' -%]Payment (VISA via SIP2) - [%- CASE 'Pay02' -%]Payment (credit card via SIP2) - [%- CASE 'N' -%]New card - [%- CASE 'OVERDUE' -%]Fine - [%- CASE 'A' -%]Account management fee - [%- CASE 'M' -%]Sundry - [%- CASE 'LOST' -%]Lost item - [%- CASE 'W' -%]Writeoff - [%- CASE 'HE' -%]Hold waiting too long - [%- CASE 'Rent' -%]Rental fee - [%- CASE 'FOR' -%]Forgiven - [%- CASE 'PF' -%]Lost item processing fee - [%- CASE 'PAY' -%]Payment - [%- CASE 'WO' -%]Writeoff - [%- CASE 'C' -%]Credit - [%- CASE 'LOST_RETURN' -%]Lost item fee refund - [%- CASE 'Res' -%]Hold fee - [%- CASE -%][% account.accounttype | html %] + [%- CASE 'Pay' -%]Payment + [%- CASE 'Pay00' -%]Payment (cash via SIP2) + [%- CASE 'Pay01' -%]Payment (VISA via SIP2) + [%- CASE 'Pay02' -%]Payment (credit card via SIP2) + [%- CASE 'N' -%]New card + [%- CASE 'OVERDUE' -%]Fine + [%- CASE 'A' -%]Account management fee + [%- CASE 'M' -%]Sundry + [%- CASE 'LOST' -%]Lost item + [%- CASE 'W' -%]Writeoff + [%- CASE 'HE' -%]Hold waiting too long + [%- CASE 'RENT' -%]Rental fee + [%- CASE 'RENT_DAILY' -%]Daily rental fee + [%- CASE 'RENT_RENEW' -%]Renewal of rental item + [%- CASE 'RENT_DAILY_RENEW' -%]Rewewal of daily rental item + [%- CASE 'FOR' -%]Forgiven + [%- CASE 'PF' -%]Lost item processing fee + [%- CASE 'PAY' -%]Payment + [%- CASE 'WO' -%]Writeoff + [%- CASE 'C' -%]Credit + [%- CASE 'LOST_RETURN' -%]Lost item fee refund + [%- CASE 'Res' -%]Hold fee + [%- CASE -%][% account.accounttype | html %] [%- END -%] [%- PROCESS account_status_description account=account -%] [%- END -%] --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc +++ a/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc @@ -41,7 +41,11 @@ [% CASE 'LOST' %]Lost item [% CASE 'W' %]Writeoff [% CASE 'HE' %]Hold waiting too long - [% CASE 'Rent' %]Rental fee + + [% CASE 'RENT' %]Rental fee + [% CASE 'RENT_DAILY' %]Daily rental fee + [% CASE 'RENT_RENEW' %]Renewal of rental item + [% CASE 'RENT_DAILT_RENEW' %]Renewal of dailt rental item [% CASE 'FOR' %]Forgiven [% CASE 'PF' %]Lost item processing fee [% CASE 'PAY' %]Payment --