From 23a21e4e529ac2215962f419ed9bb486a5096e84 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Tue, 19 Jun 2018 14:23:42 -0400 Subject: [PATCH] LP#1751368 Items-out checkin of deleted copies Allow deleted copies to be checked in from the patron items out list. Checkin is based on copy ID instead of barcode. Note that both values are sent to the server, to reduce the number of changes in the UI code, but the API inspects the ID first. Signed-off-by: Bill Erickson Signed-off-by: Jeff Davis Signed-off-by: Chris Sharp --- .../js/ui/default/staff/circ/patron/items_out.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js b/Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js index 4543797b83..e1bcf2aacb 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js @@ -504,16 +504,21 @@ function($scope , $q , $routeParams , $timeout , egCore , egUser , patronSvc , $scope.checkin = function(items) { if (!items.length) return; - var barcodes = items.map(function(circ) - { return circ.target_copy().barcode() }); + var copies = items.map(function(circ) { return circ.target_copy() }); + var barcodes = copies.map(function(copy) { return copy.barcode() }); return egConfirmDialog.open( egCore.strings.CHECK_IN_CONFIRM, barcodes.join(' '), { }).result.then(function() { + var copy; function do_one() { - if (bc = barcodes.pop()) { - egCirc.checkin({copy_barcode : bc}) + if (copy = copies.pop()) { + // Checkin expects a barcode, but will pass other + // parameters too. Passing the copy ID allows + // for the checkin of deleted copies on the server. + egCirc.checkin( + {copy_barcode: copy.barcode(), copy_id: copy.id()}) .finally(do_one); } else { reset_page(); -- 2.43.2