The negative balance settings are being applied even if no existing setting,
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
New
|
Undecided
|
Unassigned |
Bug Description
I have tested this on 3 different 2.9 setups and what I am seeing with these new negative balance settings, is that they are being invoked even when they are not being used.
For example, a patron has an item to go lost by means of the action_trigger MarkItemLost reactor.
The system finds the btype 1 overdues successfully.
It finds the circ.void_
It checks for bill.prohibit_
It checks for bill.prohibit_
It checks bill.negative_
It checks bill.negative_
Then it checks for voided bills and after that starts applying the account_adjustment payment to 0 it out.
So I'm finding this new feature is running when there are no settings being used.
IT looks like this is the code from CircCommon.pm but the issue is not standing out to me,
my $billids = $e->search_
if ($billids && @$billids) {
# overdue settings come from transaction org unit
my $prohibit_
||
);
my $neg_balance_
||
);
my $result;
# if we prohibit negative overdue balances and all payments
# are outside the refund interval (if given), zero the transaction
if ($opts-
or (!$opts-
and (
)
)
) {
$result = $class-
} else {
# otherwise, just void the usual way
$result = $class-
}
if (ref($result)) {
return $result;
}
}
I tested this on 2.10.2 and using only the settings to void overdues when marking an item lost, and none of the negative balance settings, my bills were not voided but instead they had had a payment applied with the note "System: OVERDUE REVERSED for Lost Materials Processing".
So it looks like something is wrong here and bills are not being processed correctly. They definitely are not behaving the same as pre-2.9 without any change to the settings being made. In my testing, I am not able to get it to not apply a payment adjustment.
Steve
Thank you for submitting this bug report, Steve! I wanted to report further that the Library Setting "Restore overdues on list item return" also no longer works because these account adjustments are now processed as payments rather than voids. The overdue fines that are owed on a lost item that is later returned are not added back to the patron account as a bill, as intended by a "true" value in this Library Setting.