From 646fbd04b9a422cbc5322ea758473c18f88b6a9f Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Fri, 7 Mar 2014 07:44:57 -0500 Subject: [PATCH] Bug 6427 [Part 20] - Update C4::Circulation::AddEnrolmentFeeIfNeeded --- C4/Members.pm | 31 +++++++++++++++---------------- 1 files changed, 15 insertions(+), 16 deletions(-) diff --git a/C4/Members.pm b/C4/Members.pm index 0c6b9a5..23e6021 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -2381,22 +2381,21 @@ Add enrolment fee for a patron if needed. sub AddEnrolmentFeeIfNeeded { my ( $categorycode, $borrowernumber ) = @_; - # check for enrollment fee & add it if needed - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare(q{ - SELECT enrolmentfee - FROM categories - WHERE categorycode=? - }); - $sth->execute( $categorycode ); - if ( $sth->err ) { - warn sprintf('Database returned the following error: %s', $sth->errstr); - return; - } - my ($enrolmentfee) = $sth->fetchrow; - if ($enrolmentfee && $enrolmentfee > 0) { - # insert fee in patron debts - C4::Accounts::manualinvoice( $borrowernumber, '', '', 'A', $enrolmentfee ); + + my $schema = Koha::Database->new()->schema(); + + my $category = $schema->resultset('Category')->find($categorycode); + my $fee = $category->enrolmentfee(); + + if ( $fee && $fee > 0 ) { + AddDebit( + { + borrower => + $schema->resultset('Borrower')->find($borrowernumber), + type => Koha::Accounts::DebitTypes::AccountManagementFee(), + amount => $fee, + } + ); } } -- 1.7.2.5