Return of paid lost items will not reopen a closed transaction

Bug #1670407 reported by Kathy Lussier
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Medium
Unassigned
2.11
Fix Released
Medium
Unassigned
2.12
Fix Released
Medium
Unassigned

Bug Description

Evergreen version: tested in 2.12, but probably a bug in earlier releases

For libraries that do not prohibit negative balances, if the library has configured its settings to void a lost bill upon a lost item's return and a patron fully pays the lost fee for an item, when that item is returned, the transaction does not re-open at the time the negative balance is created.

As a result, the transaction will not be listed in the "Patrons with Negative Balances" interface and also will not be listed on the patron's current bills screen in the web client. The transaction will be listed in the xul client's current bill screen.

Here is the sequence of events that occurs:

1. The transaction moves to lost, generating a bill for the patron.
2. The patron fully pays the lost fee, which sets the xact_finish date as expected.
3. The lost item is returned, creating a negative balance on the patron's record. At this point, the xact_finish date should be reset to null since the transaction is open again.

Also making a note that in investigating this bug, I discovered that the web client current bills is not displaying transactions with an xact_finish date, but the xul client didn't seem to care about the presence of an xact_finish date. I don't know if the web client behavior is a problem, but I'm just pointing it out in case these two interfaces should behave the same way.

Revision history for this message
Bill Erickson (berick) wrote :

Created and marked bug #1676906 as a duplicate. It contains manual steps for creating a slightly more convoluted example. Of note, the code tries to clear the xact_finish value during checkin, but a later update to action.circulation clobbers the cleared value by replacing it with the original bogus value.

Changed in evergreen:
status: New → Confirmed
Bill Erickson (berick)
Changed in evergreen:
assignee: nobody → Bill Erickson (berick)
status: Confirmed → In Progress
Revision history for this message
Bill Erickson (berick) wrote :

Fix pushed:

http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/berick/lp1670407-lost-checkin-xact-stays-closed

This smartens-up the partial xact_finish handling code that happens at the tail end of the checkin process so that it doesn't clobber the xact_finish value.

To confirm, repeat Kathy's steps above and check that xact_finish is NULL on the circulation once done.

tags: added: billing checkin pullrequest
Changed in evergreen:
milestone: none → 2.12.1
assignee: Bill Erickson (berick) → nobody
status: In Progress → Confirmed
Dan Wells (dbw2)
Changed in evergreen:
assignee: nobody → Dan Wells (dbw2)
Revision history for this message
Dan Wells (dbw2) wrote :

I have tested this and it works fine. It is pushed to master through 2.11. Thanks, Bill!

However, Bill and I also talked this over briefly at the conference, and agreed that this code now has a belt, suspenders, and a rope tied around its waist. Probably time for some new pants! As such, I am going to open and work on a follow-up bug to refactor this particular area of the code to be a little more sensible and less duplicative.

Changed in evergreen:
milestone: 2.12.1 → 3.0-alpha
assignee: Dan Wells (dbw2) → nobody
status: Confirmed → Fix Committed
Revision history for this message
Dan Wells (dbw2) wrote :

P.S. Also pushed a couple new tests for these bits.

Changed in evergreen:
milestone: 3.0-alpha → none
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.