Cash Reports can try to report on payments made in the future
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
High
|
Unassigned | ||
3.11 |
Fix Released
|
High
|
Unassigned |
Bug Description
Because of the use of Date.toISOString() when munging the cash report start and end date, if you open the cash reports page late enough in your day that it is the following day in UTC (and make no changes to the two date selectors), it will attempt to fetch payments made the following day - which wouldn't exist.
To state this concretely, suppose that you are in the US PST time zone and keep the library open until 9 p.m. on 1/16/2024. When you open the cash reports page to reconcile before leaving, the start and end date that gets passed to open-ils.
Interacting with the date selectors, even if you change them back to the same value, reset the Javascript Date object to 00:00:00 of the current day _in the browser's timezone_, which generally won't exercise the bug created by attempting to parse the output of Date.toISOString() as if it were in the browser's time zone rather than UTC.
Using DateUtil.
This was introduced by a patch for bug 2002343.
Evergreen 3.11 and later
Changed in evergreen: | |
importance: | Undecided → High |
tags: | added: admin-pages circ-billing regression |
description: | updated |
Changed in evergreen: | |
assignee: | nobody → Galen Charlton (gmc) |
Changed in evergreen: | |
assignee: | Galen Charlton (gmc) → nobody |
Changed in evergreen: | |
assignee: | nobody → Bill Erickson (berick) |
milestone: | none → 3.12.3 |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
A patch is available in working/ user/gmcharlt/ lp2051599_ fix_cash_ reports_ time_travel / https:/ /git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ gmcharlt/ lp2051599_ fix_cash_ reports_ time_travel