Checkout: Shouldn't Be Able to Create Duplicate Loan Records

Description

Steps to Repro:

  1. Log into folio-testing

  2. Go to Scan > Checkout

  3. Enter patron and a valid barcode to generate a loan record

  4. Enter the barcode again (or simply enter a barcode for an item

Expected: Shouldn't generate another loan record or displa. Let's display an validation message reading "Item is not available for check out"

Actual: A second loan is displayed on the Scan > Checkout page. You will also see two loans displaying for this item if you go into User details for the patron.

Additional info: I am pretty sure that duplicate loans were rejected previously (no validation message was shown, but the duplicate entry was silently ignored).

CSP Request Details

None

CSP Rejection Details

None

Potential Workaround

None

Checklist

hide

TestRail: Results

Activity

Show:

Cate Boerema November 17, 2017 at 9:55 AM

Actually, I'm closing this as a duplicate of . I don't think there is value in keeping them both around.

Cate Boerema November 17, 2017 at 9:50 AM

Looks like we sort of half completed this. I now get an error when I try to check out an item that is already checked out, but it's ugly and we want to replace it with the validation messaging described in this story. See for details on the error displaying.

Niels Erik Nielsen July 12, 2017 at 12:01 PM

Right, I didn't expect you to since it has no UX implications, I think. I just mention that choice to indicate how the front-end part of this depends on the back-end implementation.

Cate Boerema July 12, 2017 at 11:50 AM

Good point. I don't actually care if the validation comes before or after attempted selection. I think you guys should decide what makes sense.

Niels Erik Nielsen July 12, 2017 at 11:00 AM

Originally you could make multiple checkouts of the same item and then multiple check-ins of the same item (i.e. until all of them were gone). For a while, I have not been working in that area, but the described behavior is what we've had from the beginning, based on my recollection from extensive testing before review meets back then.

IMO, the right way to go about this, is to make sure the back-end prevents duplicates, no matter what the UI does. With that in place we can make the front-end behave user friendly, whether by forwarding an error message from the back-end as the back-end rejects the check-out request (i.e. "Item is not available for checkout") OR by having the UI make a validation request up-front, before attempting to submit the check-out. From a UX perspective the two approaches (fail on submit, or check pre-submit) probably appear exactly the same in this case, since there's only that one field and a submit button.

Duplicate

Details

Assignee

Reporter

Priority

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs
Created July 12, 2017 at 9:15 AM
Updated June 8, 2020 at 2:09 AM
Resolved November 17, 2017 at 9:55 AM
TestRail: Cases
TestRail: Runs