If there is a limit for the number of suspension days
(maxsuspensiondays), the calculation is wrong. We are reducing the
number of days before taking into account the suspension charging
interval.
For instance, a checkin is 1 year late and the circ rules are defined to
charge 7 days every 15 days.
It results in 365 * 7 / 15 days of suspension => 170 days
Before this patch the calculation was:
365 * 7 limited to 333, 333 / 15 => 22 days
Test plan:
Given the examples in the commit messages and the description of the bug
report, setup complex circulation rules and confirm that the debarment
dates are calculated correctly
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joy Nelson <joy@bywatersolutions.com>
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| IssuingRules | ||
| Branch.t | ||
| CalcDateDue.t | ||
| CalcFine.t | ||
| CheckIfIssuedToPatron.t | ||
| CheckValidBarcode.t | ||
| GetHardDueDate.t | ||
| GetPendingOnSiteCheckouts.t | ||
| GetTopIssues.t | ||
| IsItemIssued.t | ||
| MarkIssueReturned.t | ||
| NoIssuesChargeGuarantees.t | ||
| OfflineOperation.t | ||
| Returns.t | ||
| StoreLastBorrower.t | ||
| SwitchOnSiteCheckouts.t | ||
| TooMany.t | ||
| dateexpiry.t | ||
| issue.t | ||
| transferbook.t | ||
| transfers.t | ||