sub chargelostitem{
my $dbh = C4::Context->dbh();
- my ($borrowernumber, $itemnumber, $issue_id, $amount, $description) = @_;
+ my ($borrowernumber, $itemnumber, $amount, $description) = @_;
my $itype = Koha::ItemTypes->find({ itemtype => Koha::Items->find($itemnumber)->effective_itemtype() });
my $replacementprice = $amount;
my $defaultreplacecost = $itype->defaultreplacecost;
if ($usedefaultreplacementcost && $amount == 0 && $defaultreplacecost){
$replacementprice = $defaultreplacecost;
}
+
+ my $branchcode = C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef;
+
# first make sure the borrower hasn't already been charged for this item
# FIXME this should be more exact
# there is no reason a user can't lose an item, find and return it, and lost it again
# OK, they haven't
unless ($existing_charges) {
+ my $checkout = Koha::Checkouts->find({ itemnumber => $itemnumber });
+ my $issue_id = $checkout ? $checkout->issue_id : undef;
#add processing fee
if ($processfee && $processfee > 0){
my $accountline = Koha::Account::Line->new(
itemnumber => $itemnumber,
note => $processingfeenote,
manager_id => C4::Context->userenv ? C4::Context->userenv->{'number'} : 0,
+ branchcode => $branchcode,
}
)->store();
amountoutstanding => $replacementprice,
itemnumber => $itemnumber,
manager_id => C4::Context->userenv ? C4::Context->userenv->{'number'} : 0,
+ branchcode => $branchcode,
}
)->store();
my $accountno = getnextacctno($borrowernumber);
my $amountleft = $amount;
+ my $branchcode = C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef;
+
my $accountline = Koha::Account::Line->new(
{
borrowernumber => $borrowernumber,
itemnumber => $itemnum || undef,
note => $note,
manager_id => $manager_id,
+ branchcode => $branchcode,
}
)->store();