bug fix and checkin/renew confirmation in items out
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 1 Aug 2006 04:10:14 +0000 (04:10 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 1 Aug 2006 04:10:14 +0000 (04:10 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@5211 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/patron/items.js

index 6a04837..c3a5c14 100644 (file)
@@ -96,48 +96,56 @@ patron.items.prototype = {
                var obj = this;
                try{
                        var retrieve_ids = ( which == 2 ? obj.retrieve_ids2 : obj.retrieve_ids );
+                       JSAN.use('util.functional');
+                       var msg = 'Are you sure you would like to renew item' + ( retrieve_ids.length > 1 ? 's ' : ' ') + util.functional.map_list( retrieve_ids, function(o){return o.barcode;}).join(', ') + '?';
+                       var r = obj.error.yns_alert(msg,'Renewing Items','Yes','No',null,'Check here to confirm this message');
+                       if (r != 0) { return; }
                        for (var i = 0; i < retrieve_ids.length; i++) {
-                               var barcode = retrieve_ids[i].barcode;
-                               dump('Renew barcode = ' + barcode);
-                               var renew = obj.network.simple_request(
-                                       'CHECKOUT_RENEW', 
-                                       [ ses(), { barcode: barcode, patron: obj.patron_id } ],
-                                       null,
-                                       {
-                                               'title' : 'Override Checkin Failure?',
-                                               'overridable_events' : [ 
-                                                       1212 /* PATRON_EXCEEDS_OVERDUE_COUNT */,
-                                                       7002 /* PATRON_EXCEEDS_CHECKOUT_COUNT */,
-                                                       7003 /* COPY_CIRC_NOT_ALLOWED */,
-                                                       7004 /* COPY_NOT_AVAILABLE */,
-                                                       7006 /* COPY_IS_REFERENCE */,
-                                                       7007 /* COPY_NEEDED_FOR_HOLD */,
-                                                       7008 /* MAX_RENEWALS_REACHED */, 
-                                                       7010 /* COPY_ALERT_MESSAGE */,
-                                                       7013 /* PATRON_EXCEEDS_FINES */,
-                                               ],
-                                               'text' : {
-                                                       '7010' : function(r) {
-                                                               return r.payload;
-                                                       },
-                                                       '7004' : function(r) {
-                                                               //return obj.data.hash.ccs[ r.payload ].name();
-                                                               return r.payload.status().name();
-                                                               //return r.payload.name();
-                                                       },
+                               try {
+                                       var barcode = retrieve_ids[i].barcode;
+                                       alert('Renew barcode = ' + barcode);
+                                       var renew = obj.network.simple_request(
+                                               'CHECKOUT_RENEW', 
+                                               [ ses(), { barcode: barcode, patron: obj.patron_id } ],
+                                               null,
+                                               {
+                                                       'title' : 'Override Renew Failure?',
+                                                       'overridable_events' : [ 
+                                                               1212 /* PATRON_EXCEEDS_OVERDUE_COUNT */,
+                                                               7002 /* PATRON_EXCEEDS_CHECKOUT_COUNT */,
+                                                               7003 /* COPY_CIRC_NOT_ALLOWED */,
+                                                               7004 /* COPY_NOT_AVAILABLE */,
+                                                               7006 /* COPY_IS_REFERENCE */,
+                                                               7007 /* COPY_NEEDED_FOR_HOLD */,
+                                                               7008 /* MAX_RENEWALS_REACHED */, 
+                                                               7010 /* COPY_ALERT_MESSAGE */,
+                                                               7013 /* PATRON_EXCEEDS_FINES */,
+                                                       ],
+                                                       'text' : {
+                                                               '7010' : function(r) {
+                                                                       return r.payload;
+                                                               },
+                                                               '7004' : function(r) {
+                                                                       //return obj.data.hash.ccs[ r.payload ].name();
+                                                                       return r.payload.status().name();
+                                                                       //return r.payload.name();
+                                                               },
+                                                       }
+                                               }
+                                       );
+                                       if (typeof renew.ilsevent != 'undefined') renew = [ renew ];
+                                       for (var j = 0; j < renew.length; j++) { 
+                                               switch(renew[j].ilsevent) {
+                                                       case 0 /* SUCCESS */ : break;
+                                                       case 5000 /* PERM_FAILURE */: break;
+                                                       case 7008 /* MAX_RENEWALS_REACHED */ : break;
+                                                       default:
+                                                               throw(renew);
+                                                       break;
                                                }
                                        }
-                               );
-                               if (typeof renew.ilsevent != 'undefined') renew = [ renew ];
-                               for (var i = 0; i < renew.length; i++) { 
-                                       switch(renew[i].ilsevent) {
-                                               case 0 /* SUCCESS */ : break;
-                                               case 5000 /* PERM_FAILURE */: break;
-                                               case 7008 /* MAX_RENEWALS_REACHED */ : break;
-                                               default:
-                                                       throw(renew);
-                                               break;
-                                       }
+                               } catch(E) {
+                                       obj.error.standard_unexpected_error_alert('Renew probably did not happen for barcode ' + barcode,E);
                                }
                        }
                        obj.retrieve();
@@ -276,6 +284,10 @@ patron.items.prototype = {
                var obj = this;
                try {
                        var retrieve_ids = ( which == 2 ? obj.retrieve_ids2 : obj.retrieve_ids );
+                       JSAN.use('util.functional');
+                       var msg = 'Are you sure you would like to check in item' + ( retrieve_ids.length > 1 ? 's ' : ' ') + util.functional.map_list( retrieve_ids, function(o){return o.barcode;}).join(', ') + '?';
+                       var r = obj.error.yns_alert(msg,'Check In Items','Yes','No',null,'Check here to confirm this message');
+                       if (r != 0) { return; }
                        JSAN.use('circ.util');
                        for (var i = 0; i < retrieve_ids.length; i++) {
                                var barcode = retrieve_ids[i].barcode;