The final fixup. (I hope.)
authorJason Stephenson <jason@sigio.com>
Sat, 27 Oct 2018 01:34:31 +0000 (21:34 -0400)
committerJason Stephenson <jason@sigio.com>
Sat, 27 Oct 2018 01:34:31 +0000 (21:34 -0400)
Open-ILS/web/js/ui/default/staff/cat/catalog/app.js
Open-ILS/web/js/ui/default/staff/cat/item/app.js
Open-ILS/web/js/ui/default/staff/circ/services/holds.js
Open-ILS/web/js/ui/default/staff/circ/services/item.js

index 815f9d5..8e6f527 100644 (file)
@@ -1637,7 +1637,8 @@ function($scope , $routeParams , $location , $window , $q , egCore , egHolds , e
     $scope.selectedHoldingsDiscard = function () {
         var copy_list = gatherSelectedRawCopies();
         if (copy_list.length == 0) return;
-        egCirc.mark_discard(copy_list).then(function() {
+        egCirc.mark_discard(copy_list.map(function(cp) {
+            return {id: cp.id(), barcode: cp.barcode()};}).then(function() {
             holdinsSvcInst.fetchAgain().then(function() {
                 $scop.holdingsGridDataProvider.refresh();
             });
@@ -1647,7 +1648,8 @@ function($scope , $routeParams , $location , $window , $q , egCore , egHolds , e
     $scope.selectedHoldingsMissing = function () {
         var copy_list = gatherSelectedRawCopies();
         if (copy_list.length == 0) return;
-        egCirc.mark_missing(copy_list).then(function() {
+        egCirc.mark_missing(copy_list.map(function(cp) {
+            return {id: cp.id(), barcode: cp.barcode()};}).then(function() {
             holdingsSvcInst.fetchAgain().then(function() {
                 $scope.holdingsGridDataProvider.refresh();
             });
index 681a40f..a8142b9 100644 (file)
@@ -155,11 +155,17 @@ function($scope , $location , $timeout , egCore , egGridDataProvider , itemSvc)
     }
 
     $scope.selectedHoldingsDiscard = function () {
-        itemSvc.selectedHoldingsDiscard([$scope.args]);
+        itemSvc.selectedHoldingsDiscard([{
+            id : $scope.args.copyId,
+            barcode : $scope.args.barcode
+        }]);
     }
 
     $scope.selectedHoldingsMissing = function () {
-        itemSvc.selectedHoldingsMissing([$scope.args]);
+        itemSvc.selectedHoldingsMissing([{
+            id : $scope.args.copyId,
+            barcode : $scope.args.barcode
+        }]);
     }
 
     $scope.selectedHoldingsVolCopyAdd = function () {
index 2a23a09..a8e96fa 100644 (file)
@@ -712,31 +712,47 @@ function($window , $location , $timeout , egCore , egHolds , egCirc) {
     }
 
     service.mark_discard = function(items) {
-        var copies = [];
-        angular.forEach(items, function(item) {
-            if (item.copy) {
-                copies.push(item.copy);
-            }
-        });
-        if (copies.length) {
-            egCirc.mark_discard(copies).then(service.refresh):
-        }
+        var copies = items
+            .filter(function(item) { return Boolean(item.copy) })
+            .map(function(item) {
+                return
+                {
+                    id : item.copy.id(),
+                    barcode : item.copy.barcode()
+                };
+            });
+        if (copies.length)
+            egCirc.mark_discard(copies).then(service.refresh);
     }
 
     service.mark_missing = function(items) {
         var copies = items
             .filter(function(item) { return Boolean(item.copy) })
-            .map(function(item) { return item.copy });
-        if (copies.length) 
+            .map(function(item) {
+                return
+                {
+                    id : item.copy.id(),
+                    barcode : item.copy.barcode()
+                };
+            });
+        if (copies.length)
             egCirc.mark_missing(copies).then(service.refresh);
     }
 
     service.mark_missing_wide = function(items) {
-        var copy_ids = items
+        var copies = items
+            .filter(function(item) { return Boolean(item.hold.cp_id) })
+            .map(function(item) { return {id : item.hold.cp_id, barcode : item.hold.cp_barcode}; });
+        if (copies.length)
+            egCirc.mark_missing(copies).then(service.refresh);
+    }
+
+    service.mark_discard_wide = function(items) {
+        var copies = items
             .filter(function(item) { return Boolean(item.hold.cp_id) })
-            .map(function(item) { return item.hold.cp_id });
-        if (copy_ids.length) 
-            egCirc.mark_missing(copy_ids).then(service.refresh);
+            .map(function(item) { return {id : item.hold.cp_id, barcode : item.hold.cp_barcode}; });
+        if (copies.length)
+            egCirc.mark_discard(copies).then(service.refresh);
     }
 
     service.retarget = function(items) {
index 3326198..ad04bec 100644 (file)
@@ -645,13 +645,13 @@ function(egCore , egCirc , $uibModal , $q , $timeout , $window , egConfirmDialog
     }
 
     service.selectedHoldingsDiscard = function (items) {
-        egCirc.mark_discard(items).then(function(){
+        egCirc.mark_discard(items.map(function(el){return {id : el.id, barcode : el.barcode};}).then(function(){
             angular.forEach(items, function(cp){service.add_barcode_to_list(cp.barcode)});
         });
     }
 
     service.selectedHoldingsMissing = function (items) {
-        egCirc.mark_missing(items).then(function(){
+        egCirc.mark_missing(items.map(function(el){return {id : el.id, barcode : el.barcode};}).then(function(){
             angular.forEach(items, function(cp){service.add_barcode_to_list(cp.barcode)});
         });
     }