From 83a5d21c5eee9611d8882557bf737f7e2cea21f0 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Fri, 20 Dec 2019 12:40:34 -0500 Subject: [PATCH] LP#1843599: AngularJS MARC editor once again sets bib source This patch fixes a regression introduced by the patch for bug 1693580 that prevent changes to the bib source from being made via the AngularJS MARC editor. To test ------- [1] Apply the patch. [2] Create a new bib record and save it with a non-empty source. Verify that the record sets the source as expected. [3] Edit a bib record and change the source. Verify that the new source is retained when the record is saved. [4] Edit an authority record and save it. Verify that it can be updated without error. (Note that authority records do not have sources in the same way that bib records do.) Signed-off-by: Galen Charlton Signed-off-by: Rogan Hamby Signed-off-by: Jason Etheridge --- .../web/js/ui/default/staff/cat/services/marcedit.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Open-ILS/web/js/ui/default/staff/cat/services/marcedit.js b/Open-ILS/web/js/ui/default/staff/cat/services/marcedit.js index 71cf44ba52..09b46d0c2e 100644 --- a/Open-ILS/web/js/ui/default/staff/cat/services/marcedit.js +++ b/Open-ILS/web/js/ui/default/staff/cat/services/marcedit.js @@ -737,7 +737,8 @@ angular.module('egMarcMod', ['egCoreMod', 'ui.bootstrap']) // necessary to prevent ng-model scope hiding ugliness in egMarcEditBibSource: $scope.bib_source = { - id : $scope.bibSource ? $scope.bibSource : null + id : $scope.bibSource ? $scope.bibSource : null, + name: null }; $scope.brandNewRecord = false; $scope.record_type = $scope.recordType || 'bre'; @@ -1399,7 +1400,7 @@ angular.module('egMarcMod', ['egCoreMod', 'ui.bootstrap']) promise = egCore.net.request( 'open-ils.cat', method, egCore.auth.token(), $scope.recordId, - $scope.Record().marc(), $scope.Record().source() + $scope.Record().marc(), $scope.bib_source.name ); } else { @@ -1412,7 +1413,7 @@ angular.module('egMarcMod', ['egCoreMod', 'ui.bootstrap']) 'open-ils.cat', method, egCore.auth.token(), $scope.Record().marc(), - $scope.Record().source() + $scope.bib_source.name ); } @@ -1590,6 +1591,8 @@ angular.module('egMarcMod', ['egCoreMod', 'ui.bootstrap']) function(newVal, oldVal) { if (newVal !== oldVal) { $scope.bre.source(newVal); + var cbs = $scope.bib_sources.filter(function(s) { return s.id() == newVal }); + $scope.$parent.bib_source.name = (cbs && cbs[0]) ? cbs[0].source() : null; } } ); -- 2.43.2