# If it costs to borrow this book, charge it to the patron's account.
my ( $charge, $itemtype ) = GetIssuingCharges( $item->{'itemnumber'}, $borrower->{'borrowernumber'} );
if ( $charge > 0 ) {
- AddIssuingCharge( $item->{'itemnumber'}, $borrower->{'borrowernumber'}, $charge );
+ AddIssuingCharge( $item->{'itemnumber'}, $borrower->{'borrowernumber'}, $issue->id, $charge );
$item->{'charge'} = $charge;
}
=head2 AddIssuingCharge
- &AddIssuingCharge( $itemno, $borrowernumber, $charge )
+ &AddIssuingCharge( $itemno, $borrowernumber, $issue_id, $charge )
=cut
sub AddIssuingCharge {
- my ( $itemnumber, $borrowernumber, $charge ) = @_;
+ my ( $itemnumber, $borrowernumber, $issue_id, $charge ) = @_;
my $nextaccntno = getnextacctno($borrowernumber);
{
borrowernumber => $borrowernumber,
itemnumber => $itemnumber,
+ issue_id => $issue_id,
accountno => $nextaccntno,
amount => $charge,
amountoutstanding => $charge,
use Modern::Perl;
-use Test::More tests => 31;
+use Test::More tests => 32;
use DateTime::Duration;
use t::lib::Mocks;
$sth->execute;
my $countaccount = $sth -> fetchrow_array;
is ($countaccount,0,"0 accountline exists");
-is( ref( C4::Circulation::AddIssuingCharge( $item_id1, $borrower_id1, 10 ) ),
- 'Koha::Account::Offset', "An issuing charge has been added" );
+my $offset = C4::Circulation::AddIssuingCharge( $item_id1, $borrower_id1, $issue_id1, 10 );
+is( ref( $offset ), 'Koha::Account::Offset', "An issuing charge has been added" );
+my $charge = Koha::Account::Lines->find( $offset->debit_id );
+is( $charge->issue_id, $issue_id1, 'Issue id is set correctly for issuing charge' );
my $account_id = $dbh->last_insert_id( undef, undef, 'accountlines', undef );
$sth->execute;
$countaccount = $sth -> fetchrow_array;