From: Bill Erickson Date: Tue, 5 Feb 2019 17:28:15 +0000 (-0500) Subject: LP1793196 Volume batch editor offers MARC call numbers X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=8b763c00e90851231e83ea364bf8129cdddf1210;p=Evergreen.git LP1793196 Volume batch editor offers MARC call numbers Provide call numbers extracted from the MARC record as options in the volume batch editor. Call numbers to extract are based on the load-time classification scheme, defaulting to Generic ('1') if no default scheme is applied. Patch includes additional sanity checks on volume editor utility functions to avoid console errors referencing undefined values. Signed-off-by: Bill Erickson Signed-off-by: Remington Steed Signed-off-by: Dan Wells --- diff --git a/Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2 b/Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2 index 48a8cadf51..084bb80b99 100644 --- a/Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2 +++ b/Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2 @@ -25,7 +25,7 @@
- +
diff --git a/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js b/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js index 20c825746e..87944d715b 100644 --- a/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js +++ b/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js @@ -1064,9 +1064,23 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , if ($scope.defaults.barcode_checkdigit) itemSvc.barcode_checkdigit = true; if ($scope.defaults.auto_gen_barcode) itemSvc.auto_gen_barcode = true; } + + // Fetch the list of bib-level callnumbers based on the applied + // classification scheme. If none is defined, default to "1" + // (Generic) since it provides the most options. + egCore.net.request( + 'open-ils.cat', + 'open-ils.cat.biblio.record.marc_cn.retrieve', + $scope.record_id, + $scope.batch.classification || 1 + ).then(function(list) { + $scope.batch.marcCallNumbers = []; + list.forEach(function(hash) { + $scope.batch.marcCallNumbers.push(Object.values(hash)[0]); + }); + }); }); } - $scope.fetchDefaults(); $scope.$watch('defaults.statcat_filter', function() { $scope.saveDefaults(); @@ -1458,7 +1472,7 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , } $scope.circTypeValue = function (x) { - if (x === null) return egCore.strings.UNSET; + if (x === null || x === undefined) return egCore.strings.UNSET; var s = $scope.circ_type_list.filter(function(y) { return y.code() == x; }); @@ -1467,7 +1481,7 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , } $scope.ageprotectName = function (x) { - if (x === null) return egCore.strings.UNSET; + if (x === null || x === undefined) return egCore.strings.UNSET; var s = $scope.age_protect_list.filter(function(y) { return y.id() == x; }); @@ -1476,7 +1490,7 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , } $scope.floatingName = function (x) { - if (x === null) return egCore.strings.UNSET; + if (x === null || x === undefined) return egCore.strings.UNSET; var s = $scope.floating_list.filter(function(y) { return y.id() == x; }); @@ -1485,7 +1499,7 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , } $scope.circmodName = function (x) { - if (x === null) return egCore.strings.UNSET; + if (x === null || x === undefined) return egCore.strings.UNSET; var s = $scope.circ_modifier_list.filter(function(y) { return y.code() == x; }); @@ -1508,6 +1522,9 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , $scope.record_id = data.record_id; + // Fetch defaults + $scope.fetchDefaults(); + function fetchRaw () { if (!$scope.only_vols) $scope.dirty = true; $scope.add_vols_copies = true;