Kyle M Hall
662da18be2
When creating a circ rule, we can set overduefinescap to blank or 0 and no cap is enforced. If we edit that rule, the blank/0 is converted to "0.00" which perl considers true, thus zero-ing out any calculated fine.
Considering we've always ignored an overdue fines cap of 0, we should also ignore 0.00. However, perl is evaluating it as a string which makes it true instead of false as 0 is.
Test Plan:
1) Apply the first patch ( unit tests )
2) prove t/db_dependent/Circulation/CalcFine.t
3) Note the test fails
4) Apply the second patch as well
5) prove t/db_dependent/Circulation/CalcFine.t
6) Note the test passes
Test Plan 2:
1) Create an all/all/all rule with an overduefinescap of 0.00, with a
daily fine. Enable CalculateFinesOnReturn
2) Backdate a checkout so it is overdue
3) Return this item, note the lack of a fine
4) Apply this patch set
5) Backdate a checkout and return it again
6) Note the fine is generated!
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit
|
||
---|---|---|
.. | ||
_CalculateAndUpdateFine.t | ||
Branch.t | ||
CalcDateDue.t | ||
CalcFine.t | ||
CheckIfIssuedToPatron.t | ||
CheckValidBarcode.t | ||
dateexpiry.t | ||
GetHardDueDate.t | ||
GetPendingOnSiteCheckouts.t | ||
GetTopIssues.t | ||
IsItemIssued.t | ||
issue.t | ||
MarkIssueReturned.t | ||
maxsuspensiondays.t | ||
NoIssuesChargeGuarantees.t | ||
OfflineCirculation.t | ||
OfflineOperation.t | ||
ReturnClaims.t | ||
Returns.t | ||
StoreLastBorrower.t | ||
SwitchOnSiteCheckouts.t | ||
TooMany.t | ||
transferbook.t | ||
transfers.t |