From db55c2f503a0fd37a577d3f7a24f4800d69b0493 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 --- Open-ILS/web/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 22186590a6..b6d4b35488 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 @@ -487,16 +487,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.11.0