Comment 17 for bug 1889128

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

Thanks for the new branch, Bill, and thanks to Terran for the test server.

First, the good:

1. I've done some testing and the pickup location is now working as it should, using the patron's pickup preference if set, and observing the 'circ.staff_placed_holds_fallback_to_ws_ou' org unit setting such that:

If the patron has no pickup preference:

Patron's home library is used if circ.staff_placed_holds_fallback_to_ws_ou is False or unset
Staff client workstation is used if circ.staff_placed_holds_fallback_to_ws_ou is True

2. The issues Terran reported in comment 8 appear resolved.

3. Issue 2) reported by Jane in comment 6 is resolved, the number of holds option does not appear unless the org unit setting 'circ.staff_placed_holds_fallback_to_ws_ou' is True.

Now for the less good:

When testing Jane's issue 1) from comment 6 (place hold for patron A, then for patron B), I observed what looks like a manifestation of bug 1778606 (which was fixed in 3.5), but the behavior is somewhat worse in the angular catalog. Here's the workflow that shows the problem:

* Perform a catalog search
* Select Place Hold
* Enter the patron's barcode (99999380162) in the 'Place hold for patron by barcode' field but DO NOT click Submit
* Click Place Hold(s)

Patron preferences don't get filled in and the Place Hold(s) button is inactive. The hold does not get placed no matter how many times you click Place Hold(s). Clicking Submit, or clicking elsewhere on the page, or in another window will activate the Place Hold(s) button, and then the hold will be placed.

* Change the patron's barcode in the input box (99999378730), but DO NOT click submit.
* Click the Place Hold(s) button, patron preferences fill in at that point
* Click the Place Hold(s) button again and the hold is placed

I also ran into another issue when placing the hold for the second patron. This was intermittent, but happened more than once and I'm not sure what the difference in procedure was to cause it. After placing a hold for the first patron as above:

* Change the patron's barcode in the input box (99999378730), but DO NOT click submit.
* Click the Place Hold(s) button

The results grid on the bottom of the page shows "Hold Processing..." and appears stuck.
The console shows:

ERROR TypeError: Cannot read property 'part' of undefined
    at HoldComponent.placeOneHold (hold.component.ts:460)
    at HoldComponent.placeHolds (hold.component.ts:430)
    at HoldComponent_Template_button_click_90_listener (template.html:184)
    at executeListenerWithErrorHandling (core.js:14415)
    at wrapListenerIn_markDirtyAndPreventDefault (core.js:14450)
    at HTMLButtonElement.<anonymous> (platform-browser.js:582)
    at ZoneDelegate.invokeTask (zone-evergreen.js:399)
    at Object.onInvokeTask (core.js:27136)
    at ZoneDelegate.invokeTask (zone-evergreen.js:398)
    at Zone.runTask (zone-evergreen.js:167)

All the recent changes to place holds are really looking good, but the fix for bug 1778606 should be applied to the angular catalog to avoid a regression.