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 |
||
|---|---|---|
| .. | ||
| Branch.t | ||
| CalcDateDue.t | ||
| CalcFine.t | ||
| CheckIfIssuedToPatron.t | ||
| CheckValidBarcode.t | ||
| GetHardDueDate.t | ||
| GetPendingOnSiteCheckouts.t | ||
| GetTopIssues.t | ||
| IsItemIssued.t | ||
| MarkIssueReturned.t | ||
| NoIssuesChargeGuarantees.t | ||
| OfflineCirculation.t | ||
| OfflineOperation.t | ||
| ReturnClaims.t | ||
| Returns.t | ||
| StoreLastBorrower.t | ||
| SwitchOnSiteCheckouts.t | ||
| TooMany.t | ||
| _CalculateAndUpdateFine.t | ||
| dateexpiry.t | ||
| issue.t | ||
| maxsuspensiondays.t | ||
| transferbook.t | ||
| transfers.t | ||