LP1702911: Correct Barcode State in Add Item user/jboyer/lp1702911_add_item
authorJason Boyer <jboyer@library.in.gov>
Fri, 7 Jul 2017 14:24:35 +0000 (10:24 -0400)
committerJason Boyer <jboyer@library.in.gov>
Fri, 7 Jul 2017 16:38:15 +0000 (12:38 -0400)
When adding an item from the MARC editor the barcode
state was incorrect because the empty_barcode flag
is set on the copy and then not changed after
assigning a barcode. At that point the only way to
alter the flag is modifying the barcode in the UI,
which the user likely would not think to do. This
causes the Save buttons to remain disabled.

To test pre patch:
Open a record in the MARC editor, check Add Item
Add a call number label and barcode above, click Save
In the vol/copy editor, try as you might, you can't save. :(

To test post-patch:
Open a record in the MARC editor, check Add Item
Add a call number label and barcode above, click Save
In the vol/copy editor, the Save buttons will already be enabled
(barring required stat cats, etc.)

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js

index 644be2f..cce204c 100644 (file)
@@ -1207,7 +1207,10 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore ,
                                         ((!$scope.only_vols) ? true : false)
                                     );
 
-                                    if (proto.barcode) cp.barcode( proto.barcode );
+                                    if (proto.barcode) {
+                                        cp.barcode( proto.barcode );
+                                        cp.empty_barcode = false;
+                                    }
 
                                     itemSvc.addCopy(cp)
                                 });
@@ -1254,7 +1257,10 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore ,
                                     true
                                 );
 
-                                if (proto.barcode) cp.barcode( proto.barcode );
+                                if (proto.barcode) {
+                                    cp.barcode( proto.barcode );
+                                    cp.empty_barcode = false;
+                                }
 
                                 itemSvc.addCopy(cp)
                             }