webclient: items using Hold Verify fail to checkin or capture hold
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
High
|
Unassigned | ||
2.12 |
Fix Released
|
High
|
Unassigned |
Bug Description
Master, web staff client.
If an item which is targeted for a hold has Hold Verify = true for its shelving location, the item will not correctly checkin or capture its hold.
Console:
unhandled checkin response : HOLD_CAPTURE_
service.
(anonymous) @ circ.js:236
(anonymous) @ angular.js:16696
$eval @ angular.js:17994
$digest @ angular.js:17808
(anonymous) @ angular.js:18033
f @ angular.js:6045
(anonymous) @ angular.js:6324
audio.js:42 audio: play_url(
angular.js:14199 TypeError: Cannot read property 'evt' of undefined
at egCirc.
at angular.js:16696
at m.$eval (angular.js:17994)
at m.$digest (angular.js:17808)
at angular.js:18033
at f (angular.js:6045)
at angular.js:6324
To reproduce, go to Local Administration -> Copy Locations Editor and set a location to have Hold Verify = yes. Locate/Edit/Create an item using that shelving location & place a copy hold on it. Verify that the hold is targeted & then check it in. Checkin & capture will fail, and the checkin list below will only show the call number and not any other item/bib information.
Expected behavior is that the item will generate a popup with the message “This item could fulfill a hold request but capture has been delayed by policy” with the option to capture or not capture the hold.
Marking as confirmed as this was originally reported by Mary J. @ Equinox and confirmed by me.
Changed in evergreen: | |
assignee: | nobody → Jason Etheridge (phasefx) |
Changed in evergreen: | |
assignee: | nobody → Jason Etheridge (phasefx) |
Changed in evergreen: | |
assignee: | nobody → Kathy Lussier (klussier) |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
for reference, the XUL code does this:
/* HOLD_CAPTURE_ DELAYED */ if (check.ilsevent == 7019) {
var rv = 0;
msg += document.
if (!suppress_popups) {
rv = error.yns_
);
} else {
// FIXME: add SFX and/or GFX
}
return circ.util. checkin_ via_barcode( session, params, backdate, auto_print, false);
}