@@ -, +, @@ --- C4/Members.pm | 31 +++++++++++++++---------------- 1 files changed, 15 insertions(+), 16 deletions(-) --- a/C4/Members.pm +++ a/C4/Members.pm @@ -2371,22 +2371,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, + } + ); } } --