From: Galen Charlton <gmc@equinoxinitiative.org> Date: Thu, 30 Mar 2017 21:03:07 +0000 (-0400) Subject: LP#1677416: unbreak use of egOrgSelector by egEditFmRecord X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=eb684b71c14edad3484745d939b43ea3e804c9a1;p=evergreen%2Fjoelewis.git LP#1677416: unbreak use of egOrgSelector by egEditFmRecord This patch fixes a regression where attempting to change the value of an egOrgSelector embedded in an egEditFmRecord would result in errors like this: Error: [$compile:nonassign] http://errors.angularjs.org/1.5.11/$compile/nonassign?p0=rec_orgs%5Bfield.name%5D()&p1=selected&p2=egOrgSelector To test ------- [1] Open the MARC Tag Tables admin interface in the web staff client and edit an existing entry. Note that changing the selected OU will result in there being no change and error messages appearing in the browser JavaScript console. [2] Apply the patch and repeat step 1. [3] Verify that no errors are logged. Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> --- diff --git a/Open-ILS/src/templates/staff/share/t_fm_record_editor.tt2 b/Open-ILS/src/templates/staff/share/t_fm_record_editor.tt2 index 18ee809c1f..f7a7a6ed21 100644 --- a/Open-ILS/src/templates/staff/share/t_fm_record_editor.tt2 +++ b/Open-ILS/src/templates/staff/share/t_fm_record_editor.tt2 @@ -49,8 +49,8 @@ </select> </span> <eg-org-selector ng-if="field.datatype == 'org_unit'" - selected="rec_orgs[field.name]()" - onchange="rec_orgs[field.name]"> + selected="rec_org_values[field.name]" + onchange="rec_orgs[field.name]" nodefault> </eg-org-selector> </div> </div> diff --git a/Open-ILS/web/js/ui/default/staff/services/fm_record_editor.js b/Open-ILS/web/js/ui/default/staff/services/fm_record_editor.js index da95d54560..be048444a7 100644 --- a/Open-ILS/web/js/ui/default/staff/services/fm_record_editor.js +++ b/Open-ILS/web/js/ui/default/staff/services/fm_record_editor.js @@ -74,6 +74,7 @@ angular.module('egFmRecordEditorMod', $scope.record_label = egCore.idl.classes[$scope.idlClass].label; $scope.rec_orgs = {}; + $scope.rec_org_values = {}; if ($scope.mode == 'update') { egCore.pcrud.retrieve($scope.idlClass, $scope.recordId).then(function(r) { @@ -161,6 +162,9 @@ angular.module('egFmRecordEditorMod', if (arguments.length == 1) $scope.rec[field.name](org.id()); return egCore.org.get($scope.rec[field.name]()); } + if ($scope.rec[field.name]()) { + $scope.rec_org_values[field.name] = $scope.rec_orgs[field.name](); + } } }); return fields.filter(function(field) { return !(field.name in $scope.hidden) });