LP#1710010: Fix item status file upload user/miker/lp-1710010-loop_over_uploaded_barcodes
authorMike Rylander <mrylander@gmail.com>
Thu, 10 Aug 2017 20:41:03 +0000 (16:41 -0400)
committerMike Rylander <mrylander@gmail.com>
Thu, 10 Aug 2017 20:41:03 +0000 (16:41 -0400)
The item service currently living inside the item status app does not know how
to fetch multiple barcodes at once.  So, we'll loop over them and refresh the
grid when they're all retrieved.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/web/js/ui/default/staff/cat/item/app.js

index 8d73b9d..f9a223b 100644 (file)
@@ -1105,12 +1105,19 @@ function($scope , $q , $routeParams , $location , $timeout , $window , egCore ,
                 barcodes.push(line);
             });
 
-            itemSvc.fetch(barcodes).then(
-                function() {
-                    copyGrid.refresh();
-                    copyGrid.selectItems([itemSvc.copies[0].index]);
-                }
-            );
+            if (barcodes.length > 0) {
+                var promises = [];
+                angular.forEach(barcodes, function (b) {
+                    promises.push(itemSvc.fetch(b));
+                });
+
+                $q.all(promises).then(
+                    function() {
+                        copyGrid.refresh();
+                        copyGrid.selectItems([itemSvc.copies[0].index]);
+                    }
+                );
+            }
         }
     });