webclient: items using Hold Verify fail to checkin or capture hold

Bug #1709966 reported by Andrea Neiman
6
This bug affects 1 person
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_DELAYED circ.js:1374
service.handle_checkin_resp @ circ.js:1374
(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(error.unknown.no_payload,error.unknown.no_payload)

angular.js:14199 TypeError: Cannot read property 'evt' of undefined
    at egCirc.checkin.then.pos (app.js:197)
    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)
Revision history for this message
Jason Etheridge (phasefx) wrote :

for reference, the XUL code does this:

/* HOLD_CAPTURE_DELAYED */ if (check.ilsevent == 7019) {

            check.what_happened = 'hold_capture_delayed';
            sound.special('checkin.hold_capture_delayed');
            var rv = 0;
            msg += document.getElementById('circStrings').getString('staff.circ.utils.hold_capture_delayed.description');
            if (!suppress_popups) {
                rv = error.yns_alert_formatted(
                    msg,
                    document.getElementById('circStrings').getString('staff.circ.utils.hold_capture_delayed.titlebar'),
                    document.getElementById('circStrings').getString('staff.circ.utils.hold_capture_delayed.prompt_for_nocapture'),
                    document.getElementById('circStrings').getString('staff.circ.utils.hold_capture_delayed.prompt_for_capture'),
                    null,
                    document.getElementById('circStrings').getString('staff.circ.confirm.msg'),
                    '/xul/server/skin/media/images/stop_sign.png'
                );
            } else {
                // FIXME: add SFX and/or GFX
                sound.circ_bad();
            }
            params.capture = rv == 0 ? 'nocapture' : 'capture';

            return circ.util.checkin_via_barcode(session,params,backdate,auto_print,false);

        }

Changed in evergreen:
assignee: Jason Etheridge (phasefx) → nobody
Revision history for this message
Jason Etheridge (phasefx) wrote :

and here are the strings:

circ.properties:staff.circ.utils.hold_capture_delayed.description=This item could fulfill a hold request but capture has been delayed by policy.
circ.properties:staff.circ.utils.hold_capture_delayed.titlebar=Hold Capture Delayed
circ.properties:staff.circ.utils.hold_capture_delayed.prompt_for_nocapture=Do Not Capture
circ.properties:staff.circ.utils.hold_capture_delayed.prompt_for_capture=Capture

Changed in evergreen:
assignee: nobody → Jason Etheridge (phasefx)
Revision history for this message
Jason Etheridge (phasefx) wrote :
tags: added: pullrequest
Changed in evergreen:
assignee: Jason Etheridge (phasefx) → nobody
Revision history for this message
Andrea Neiman (aneiman) wrote :

I have tested this code and consent to signing off on it with my name, Andrea Neiman and email, <email address hidden>

tags: added: signedoff
Kathy Lussier (klussier)
Changed in evergreen:
assignee: nobody → Kathy Lussier (klussier)
Revision history for this message
Kathy Lussier (klussier) wrote :

Works for me. Merged to master and release 2.12.

Thank you Jason and Andrea!

Changed in evergreen:
assignee: Kathy Lussier (klussier) → nobody
status: Confirmed → Fix Committed
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.