pickup_lib : pickuplib
};
- _debug("hold possible args = "+js2JSON(args));
+ if(recurse) {
+ /* if we're calling create again (recursing),
+ we know that the hold possibility check already succeeded */
+ holdHandleCreateResponse({_recurse:true, _hold:hold}, true );
- var req = new Request(CHECK_HOLD_POSSIBLE, G.user.session, args );
-
- req.request.alertEvent = false;
- req.request._hold = hold;
- req.request._recurse = recurse;
- req.callback(holdHandleCreateResponse);
- req.send();
+ } else {
+ _debug("hold possible args = "+js2JSON(args));
+
+ var req = new Request(CHECK_HOLD_POSSIBLE, G.user.session, args );
+
+ req.request.alertEvent = false;
+ req.request._hold = hold;
+ req.request._recurse = recurse;
+ req.callback(holdHandleCreateResponse);
+ req.send();
+ }
}
}
-function holdHandleCreateResponse(r) {
- var res = r.getResultObject();
- if(!res || checkILSEvent(res) ) {
- if(!res) {
- alert($('hold_not_allowed').innerHTML);
- } else {
- if( res.textcode == 'PATRON_BARRED' ) {
- alertId('hold_failed_patron_barred');
- } else {
+function holdHandleCreateResponse(r, recurse) {
+
+ if(!recurse) {
+ var res = r.getResultObject();
+ if(!res || checkILSEvent(res) ) {
+ if(!res) {
alert($('hold_not_allowed').innerHTML);
+ } else {
+ if( res.textcode == 'PATRON_BARRED' ) {
+ alertId('hold_failed_patron_barred');
+ } else {
+ alert($('hold_not_allowed').innerHTML);
+ }
}
+ swapCanvas($('holds_box'));
+ return;
}
- swapCanvas($('holds_box'));
- return;
- }
-
+ }
+
holdCreateHold(r._recurse, r._hold);
}
showCanvas();
- holdArgs = null;
runEvt('common', 'holdUpdated');
}
function holdProcessResult( hold, res, recurse ) {
+
if( res == '1' ) {
alert($('holds_success').innerHTML);
+ holdArgs = null;
} else {