From: Galen Charlton Date: Fri, 20 Dec 2019 17:40:34 +0000 (-0500) Subject: LP#1843599: AngularJS MARC editor once again sets bib source X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=83a5d21c5eee9611d8882557bf737f7e2cea21f0;p=evergreen%2Fmasslnc.git 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 --- 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; } } );