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