From 48eb5046a2e67585c75a1e5626667d74a94b5118 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Fri, 19 Apr 2019 16:29:21 -0400 Subject: [PATCH] LP#1812900: fix retention of saved defaults in holdings editor Because the $watch on the statistical category default OU filter in the holdings editor can fire before the form is fully initialized, saved defaults (i.e., the cat.copy.defaults workstation setting) could get overwritten with the hard-coded default value for that, er, set of defaults. This patch ensures that that $watch saves the defaults only when the value of the default stat cat OU filter has changed. To test ------- [1] Use the holdings editor on an item. Change to the defaults tab and check or uncheck checkboxes such as "Use checkdigit" and "Print Item Labels on Save and Exit" [2] Refresh the page or open the holdings editor on a different item. Note that the settings from step #1 are not retained. [3] Apply the patch. [4] Repeat steps #1 and #2. This time, the settings should be retained. [5] Set the Default Filter Library in the same tab and refresh. Verify that the OU you chose is retained. Signed-off-by: Galen Charlton Signed-off-by: Remington Steed --- Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 76e637a163..89b938ebd7 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 @@ -1082,8 +1082,9 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , }); } - $scope.$watch('defaults.statcat_filter', function() { - $scope.saveDefaults(); + $scope.$watch('defaults.statcat_filter', function(n,o) { + if (n && n != o) + $scope.saveDefaults(); }); $scope.$watch('defaults.auto_gen_barcode', function (n,o) { itemSvc.auto_gen_barcode = n -- 2.43.2