From 252f8e5678508a81428067b1a5fac20baf4c048e Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Wed, 11 May 2022 15:55:21 -0700 Subject: [PATCH] LP#1946531: use batch method to add users to bucket via User Buckets UI Signed-off-by: Jeff Davis Signed-off-by: Galen Charlton Signed-off-by: Jane Sandberg --- .../js/ui/default/staff/circ/patron/bucket/app.js | 39 +++++++++++----------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/bucket/app.js b/Open-ILS/web/js/ui/default/staff/circ/patron/bucket/app.js index e183683a09..d0e7c98f50 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/patron/bucket/app.js +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/bucket/app.js @@ -84,25 +84,26 @@ function($scope, $location, $q, $timeout, $uibModal, if (recs.length == 0) return; bucketSvc.bucketNeedsRefresh = true; - angular.forEach(recs, - function(rec) { - var item = new egCore.idl.cubi(); - item.bucket(bucketSvc.currentBucket.id()); - item.target_user(rec.id); - $scope.removeFromPendingList(rec.id); - egCore.net.request( - 'open-ils.actor', - 'open-ils.actor.container.item.create', - egCore.auth.token(), 'user', item, 1 - ).then(function(resp) { - - // HACK: add the IDs of the added items so that the size - // of the view list will grow (and update any UI looking at - // the list size). The data stored is inconsistent, but since - // we are forcing a bucket refresh on the next rendering of - // the view pane, the list will be repaired. - bucketSvc.currentBucket.items().push(resp); - }); + var ids = recs.map(function(rec) { + $scope.removeFromPendingList(rec.id); + return rec.id; + }); + + egCore.net.request( + 'open-ils.actor', + 'open-ils.actor.container.item.create.batch', + egCore.auth.token(), 'user', + bucketSvc.currentBucket.id(), ids + ).then( + null, // complete + null, // error + function(resp) { + // HACK: add the IDs of the added items so that the size + // of the view list will grow (and update any UI looking at + // the list size). The data stored is inconsistent, but since + // we are forcing a bucket refresh on the next rendering of + // the view pane, the list will be repaired. + bucketSvc.currentBucket.items().push(resp); } ); //re-draw the pending list -- 2.11.0