removed redundant hold-possibility call
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 21 Nov 2006 21:02:30 +0000 (21:02 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 21 Nov 2006 21:02:30 +0000 (21:02 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6604 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/opac/skin/default/js/holds.js

index 9a0980b..c8a9f2d 100644 (file)
@@ -552,15 +552,22 @@ function holdsCheckPossibility(pickuplib, hold, recurse) {
                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();
+       }
 }
 
 
@@ -657,22 +664,25 @@ function holdsPlaceHold(hold, recurse) {
 }
 
 
-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);
 }
 
@@ -688,14 +698,15 @@ function holdCreateHold( recurse, hold ) {
        
        showCanvas();
 
-       holdArgs = null;
        runEvt('common', 'holdUpdated');
 }
 
 
 function holdProcessResult( hold, res, recurse ) {
+
        if( res == '1' ) {
                alert($('holds_success').innerHTML);
+               holdArgs = null;
 
        } else {