Unchanged workstation settings are re-applied on every checkin

Bug #1918362 reported by Jeff Davis
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Medium
Unassigned
3.5
Fix Released
Medium
Unassigned
3.6
Fix Released
Medium
Unassigned

Bug Description

Each time you checkin an item on the web client Check In screen, the compile_checkin_args function calls setItem for the Strict Barcode and Update Inventory workstation settings. This results in two separate open-ils.actor.settings.apply.user_or_ws calls for every checkin. Since those settings rarely change between checkins, we end up with a lot of unnecessary server traffic. The client should only apply those settings to the server when they have actually changed.

(A sufficiently fast checkin scanner may be able to exhaust open-ils.actor drones this way, but I haven't been able to confirm that.)

Additionally, for the Update Inventory setting, the compile_checkin_args function tries to set circ.checkin.do_inventory_update but the proper setting name is eg.circ.checkin.do_inventory_update (note the "eg." prefix), so the attempt to apply that setting always fails.

summary: - Unchanged workstation settings re-applied on on every checkin
+ Unchanged workstation settings are re-applied on every checkin
Revision history for this message
Dan Briem (dbriem) wrote :

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

The Strict Barcode setting also saves on every renewal and checkout. It now saves based on user interaction with the strict barcode checkbox in the respective checkin, renewal, and checkout interfaces. The Update Inventory setting could simply be removed from the checkin logic because its redundant since it was incorporated into the checkin modifier interface a while back.

tags: added: pullrequest
Changed in evergreen:
status: New → Confirmed
Changed in evergreen:
assignee: nobody → Jeff Davis (jdavis-sitka)
Revision history for this message
Jeff Davis (jdavis-sitka) wrote :

Works for me -- unnecessary calls are now prevented on checkout/checkin/renewal, and settings are updated only when they actually change. Signed off here:

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

tags: added: signedoff
Changed in evergreen:
assignee: Jeff Davis (jdavis-sitka) → nobody
milestone: none → 3.7.1
importance: Undecided → Medium
Revision history for this message
Jeff Davis (jdavis-sitka) wrote :

Here's a 3.5 version of the fix, addressing a merge conflict:

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

The original fix backports cleanly to 3.6.

Changed in evergreen:
assignee: nobody → Jane Sandberg (sandbej)
Revision history for this message
Jane Sandberg (sandbergja) wrote :

Nice improvement, Jeff and Dan. Thank you! Pushed to rel_3_5 and above.

Changed in evergreen:
assignee: Jane Sandberg (sandbej) → nobody
status: Confirmed → Fix Committed
Revision history for this message
Gina Monti (gmonti90) wrote :

We applied this patch and it caused issues with some libraries who were trying to use the catalog or load catalog templates. Some were able to do all those without issues. It may be tied to what is saved into Hatch?

Revision history for this message
Jeff Davis (jdavis-sitka) wrote :

Hmm, the patch only touches the checkout, checkin, and renew functions in the circ interface, so I wouldn't expect catalog functions to be affected at all. Are you able to provide any more details about the issues your staff were seeing, like specific console error messages?

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

Other bug subscribers

Remote bug watches

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