Placing holds fails unintuitively when preferred pickup location is disabled via org unit setting opac.holds.org_unit_not_pickup_lib

Bug #1477154 reported by Michele Morgan
66
This bug affects 10 people
Affects Status Importance Assigned to Milestone
Evergreen
Fix Committed
High
Unassigned
3.10
Fix Committed
Undecided
Unassigned
3.11
Fix Committed
Undecided
Unassigned

Bug Description

If a user has set a preferred pickup location, and that pickup location is disabled via the org unit setting opac.holds.org_unit_not_pickup_lib, the user can attempt to place a hold and their preferred pickup location is filled in automatically. Upon clicking "Submit", however, the form refreshes with no indication what the error is.

If the user opens the pickup location dropdown, their preferred pickup location is greyed out and cannot be chosen.

Here's a screencast:

http://screencast.com/t/I4YzNY5o

An error message stating that the patron's preferred pickup location is currently unavailable with instructions to choose another would eliminate confusion in this situation, and also avoid system behavior that appears broken.

Revision history for this message
Kathy Lussier (klussier) wrote :

Just adding a note that the same behavior occurs for org units that do not have the "can have users" flag enabled. If we provide a message for the situation that Michele described, we should see the same message for those org units that can't have users. I'm not sure how often my scenario would happen in practice, other than for the admin user, but I thought I would just throw it out there as another spot where we could use this message.

Revision history for this message
Dale Rigney (drigney) wrote :

The hold screen preferred pickup location is filled in automatically with the value of the opac.default_pickup_location user setting. If the patron does not have an opac.default_pickup_location user setting the preferred pickup location is filled in automatically with the patron's Home Library. If that home library has the opac.holds.org_unit_not_pickup_lib setting set to true the same silent failure happens.

Revision history for this message
Joan Kranich (jkranich) wrote :

Evergreen Release 3.2.10
Browsers Chrome and Firefox

Confirming that I can recreate the situations described by Michele and Dale, comment #2.

Changed in evergreen:
status: New → Confirmed
Revision history for this message
Jennifer Bruch (jbruchpails) wrote :

This has been coming up for PaILS/SPARK libraries as they close for COVID exposures and want to divert patrons elsewhere in a system.

Changed in evergreen:
importance: Undecided → High
tags: added: holds opac
Dan Briem (dbriem)
tags: added: circ-holds
removed: holds
Revision history for this message
Terran McCanna (tmccanna) wrote :

Note that this is still an issue in 3.6.1 Bootstrap OPAC

Revision history for this message
Michele Morgan (mmorgan) wrote :

Still an issue through 3.8.

Revision history for this message
Michele Morgan (mmorgan) wrote :

Confirming this is still an issue in the 3.11 bootstrap opac.

Steven Mayo (stmayo)
Changed in evergreen:
assignee: nobody → Steven Mayo (stmayo)
Revision history for this message
Steven Mayo (stmayo) wrote :

Branch for testing: https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/smayo/lp1477154-OPAC_Holds_Fail_Silently_At_Disabled_Pickup_Locations

Should stop patrons from even pressing the submit button before their selected library allows pickup.

tags: added: pullrequest
Steven Mayo (stmayo)
Changed in evergreen:
assignee: Steven Mayo (stmayo) → nobody
Revision history for this message
Garry Collum (gcollum) wrote :
tags: added: signedoff
Michele Morgan (mmorgan)
Changed in evergreen:
assignee: nobody → Michele Morgan (mmorgan)
Revision history for this message
Michele Morgan (mmorgan) wrote :

Further review on this reveals some varying behavior in different environments and possible accessibility issues, so it's getting another look.

Removing the signoff tag for now.

tags: removed: signedoff
Michele Morgan (mmorgan)
Changed in evergreen:
assignee: Michele Morgan (mmorgan) → nobody
Steven Mayo (stmayo)
Changed in evergreen:
assignee: nobody → Steven Mayo (stmayo)
Revision history for this message
Steven Mayo (stmayo) wrote :

My best guess as to the cause of the inconsistency by environment was trying to initialize the colors for the options indirectly using the original color of the page. It is now setting the options to white explicitly. Tested on Chrome, Firefox, and Edge on my test server and all appear to have white dropdowns now.

I've also chosen slightly different colors taken from the color accessibility page Stephanie shared at UI interest group yesterday, and I think they look a little better. https://nypl.github.io/design-toolkit/sections/color-a11y.html#table-key

Finally, changed the warning text to a label element which I think plays better with screenreaders.

https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/smayo/lp1477154-OPAC_Holds_Fail_Silently_At_Disabled_Pickup_Locations

Revision history for this message
Timothy Means (tmeans-ncc) wrote :

Test steps:
1.
Logged in to OPAC as patron Lela Thomas, found preferred pickup location "Example Bookmobile 1," and left it at that.
2.
Logged into staff client as Circ Admin Anna Williams, clicked through Admin > Server admin > Org. units > ... Example Bookmobile 1 and unticked OPAC Visible, Save.

Yellow error box bottom right, "Update Failed" but no explanation in the UI.

3.
Checked console.log errors, found "open-ils.pcrud.update.aou failed! stat=404 msg=An unknown server error occurred"

4.
Assuming Circ Admin can't do this, trying other admin types, but same error for Local Admin William Randall and even Sys Admin Gwendolyn Davenport!

Revision history for this message
Terran McCanna (tmccanna) wrote :

Response to comment 12: This bug is about the Library Setting for "OPAC: Org Unit is not a hold pickup library" (aka opac.holds.org_unit_not_pickup_lib).

These are the test steps from the git branch:

Steps to test:
[1] Go to Administration -> Local Administration -> Library Settings
Editor
[2] Make sure opac.hold.org_unit_not_pickup_lib is set to true for some
library
[3] Find a patron whose home library is set to that library and one
whose home library isn't
[4] Log in to the first patron and attempt to place a hold
[5] Observe the holds page
[6] Change the pickup library of the hold
[7] Observe the holds page
[8] Log in to the second patron and attempt to place a hold
[9] Observe

(OPAC-visibility is a different setting and I believe in the Concerto setup only the main admin account has the UPDATE_ORG_UNIT permission so I wouldn't expect any other types of admin accounts to be able to change that. A library can still be a pickup library if it is not OPAC-visible and vice versa. You would also need to run autogen.sh on the server after making that particular change - there is another LP bug open to address that.)

Revision history for this message
Andrea Neiman (aneiman) wrote :

Tested on terran-testbox.gapines.org using patron Annette Ramos.

The OPAC place holds screen defaults to BR1 for this patron, which is not a valid pickup location on this system. If I select another pickup location, I am not allowed to re-select BR1; however, if I leave BR1 selected I am still seeing the unintuitive behavior where the OPAC place hold screen refreshes with no user feedback about the hold failing, or the pickup location being invalid.

Revision history for this message
Terran McCanna (tmccanna) wrote :

My apologies, I didn't actually get the patch applied to terran-testbox! It's in place now.

Revision history for this message
Andrea Neiman (aneiman) wrote :

Thanks! Confirming that it's doing the thing now, with a nice obvious message immediately visible on the OPAC place holds screen.

I consent to signing off on this patch with my name, Andrea Buntz Neiman, and my email address <email address hidden>.

tags: added: signedoff
Changed in evergreen:
assignee: Steven Mayo (stmayo) → nobody
milestone: none → 3.12-beta
Changed in evergreen:
assignee: nobody → Terran McCanna (tmccanna)
Revision history for this message
Terran McCanna (tmccanna) wrote :

I'm excited about this fix!

Pushed to main and backported as far as 3.10

Changed in evergreen:
status: Confirmed → Fix Committed
assignee: Terran McCanna (tmccanna) → nobody
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.