LP#1788680 prevent copy template apply failure on null stat cats
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Fri, 8 Jun 2018 19:09:54 +0000 (12:09 -0700)
committerDan Wells <dbw2@calvin.edu>
Tue, 14 May 2019 17:05:41 +0000 (13:05 -0400)
Under some circumstances, the current code can result in a JS failure:

Cannot read property 'filter' of undefined

When this happens, the copy template may apply partially or not at all.
This change simply makes sure cp.stat_cat_entries() exists before
attempting to filter it.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>

Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js

index 507c4cb..5923b40 100644 (file)
@@ -1302,11 +1302,13 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore ,
                         // trim out all deleted ones; the API used to
                         // do the update doesn't actually consult
                         // isdeleted for stat cat entries
-                        cp.stat_cat_entries(
-                            cp.stat_cat_entries().filter(function (e) {
-                                return !Boolean(e.isdeleted());
-                            })
-                        );
+                        if (cp.stat_cat_entries()) {
+                            cp.stat_cat_entries(
+                                cp.stat_cat_entries().filter(function (e) {
+                                    return !Boolean(e.isdeleted());
+                                })
+                            );
+                        }
    
                         cp.ischanged(1);
                     }