LP 1735539: Now with streaming action. user/jboyer/lp1735539-item-status-delete-multi-signoff
authorJason Stephenson <jason@sigio.com>
Fri, 13 Apr 2018 17:56:00 +0000 (13:56 -0400)
committerJason Boyer <jboyer@library.in.gov>
Wed, 18 Apr 2018 01:49:16 +0000 (21:49 -0400)
Modify item service selectedHoldingsCopyDelete method one more time to
use streaming response instead of getting all results in a single,
atomic call.  This should better handle large numbers of selected
items.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Open-ILS/web/js/ui/default/staff/circ/services/item.js

index ccdfe8f..4e752bd 100644 (file)
@@ -499,11 +499,11 @@ function(egCore , egCirc , $uibModal , $q , $timeout , $window , egConfirmDialog
     service.selectedHoldingsCopyDelete = function (items) {
         if (items.length == 0) return;
 
+        var copy_objects = [];
         egCore.pcrud.search('acp',
             {deleted : 'f', id : items.map(function(el){return el.id;}) },
-            { flesh : 1, flesh_fields : { acp : ['call_number'] } },
-            { atomic : true }
-        ).then(function(copy_objects) {
+            { flesh : 1, flesh_fields : { acp : ['call_number'] } }
+        ).then(function() {
 
             var cnHash = {};
             var perCnCopies = {};
@@ -553,6 +553,10 @@ function(egCore , egCirc , $uibModal , $q , $timeout , $window , egConfirmDialog
                     angular.forEach(items, function(cp){service.add_barcode_to_list(cp.barcode)});
                 });
             });
+        },
+        null,
+        function(copy) {
+            copy_objects.push(copy);
         });
     }