From: phasefx Date: Tue, 1 Aug 2006 04:10:14 +0000 (+0000) Subject: bug fix and checkin/renew confirmation in items out X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=eb4d68336d76c9a1effa7e5db7af64e53f5f4c24;p=Evergreen.git bug fix and checkin/renew confirmation in items out git-svn-id: svn://svn.open-ils.org/ILS/trunk@5211 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/xul/staff_client/server/patron/items.js b/Open-ILS/xul/staff_client/server/patron/items.js index 6a04837739..c3a5c14c04 100644 --- a/Open-ILS/xul/staff_client/server/patron/items.js +++ b/Open-ILS/xul/staff_client/server/patron/items.js @@ -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;