From 7e57f346970004a671af3a524c84157e8a02ff53 Mon Sep 17 00:00:00 2001
From: Galen Charlton <gmc@equinoxinitiative.org>
Date: Fri, 24 May 2019 11:06:04 -0400
Subject: [PATCH] LP#1830394: remove console noise from the holdings editor

This patch removes browser console noise that occurs (among other
places) when moving a working item to the completed list in
the holdings editor

TypeError: "$scope.working.MultiMap[keys[i]] is undefined"
    hasMulti https://evergreen.example.org/js/ui/default/staff/cat/volcopy/app.js:1203
    ...

To test
-------
[1] Open the holdings editor to add or edit an item, then open the
    browser debug console.
[2] Make a change and move the item from working to complete. Note
    that the error message above shows up repeated in the
    console log.
[3] Apply the patch and repeat steps 1 and 2. This time, the errors
    should not appear.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
---
 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js | 6 ++++--
 1 file changed, 4 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 80d2a37eee..79dbf81e61 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
@@ -1417,10 +1417,11 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore ,
 
         $scope.clearWorking = function () {
             angular.forEach($scope.working, function (v,k,o) {
+                if (k != 'MultiMap') $scope.working.MultiMap[k] = [];
                 if (!angular.isObject(v)) {
                     if (typeof v != 'undefined')
                         $scope.working[k] = undefined;
-                } else if (k != 'circ_lib') {
+                } else if (k != 'circ_lib' && k != 'MultiMap') {
                     angular.forEach(v, function (sv,sk) {
                         if (typeof v != 'undefined')
                             $scope.working[k][sk] = undefined;
@@ -2566,11 +2567,12 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore ,
 
                 $scope.clearWorking = function () {
                     angular.forEach($scope.working, function (v,k,o) {
+                        if (k != 'MultiMap') $scope.working.MultiMap[k] = [];
                         $scope.working.MultiMap[k] = [];
                         if (!angular.isObject(v)) {
                             if (typeof v != 'undefined')
                                 $scope.working[k] = undefined;
-                        } else if (k != 'circ_lib') {
+                        } else if (k != 'circ_lib' && k != 'MultiMap') {
                             angular.forEach(v, function (sv,sk) {
                                 $scope.working[k][sk] = undefined;
                             });
-- 
2.11.0