Avoid fleshing standing penalty org unit children
authorJeff Godin <jgodin@tadl.org>
Fri, 28 Jan 2022 22:54:38 +0000 (17:54 -0500)
committerChris Sharp <csharp@georgialibraries.org>
Sun, 20 Feb 2022 16:28:24 +0000 (11:28 -0500)
When fleshing the org unit on standing penalties, exclude child org
units. We don't need them, and they can cause issues when your
standing penalty has a Depth of "Everywhere": you end up with a full
copy of the org unit tree, and you will include this when editing
and saving the user.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Open-ILS/web/js/ui/default/staff/services/patron_search.js

index 136fcdc..d2ebe6c 100644 (file)
@@ -259,7 +259,10 @@ function($q , $timeout , $location , egCore,  egUser , egConfirmDialog , $locale
             user.standing_penalties(),
             function(penalty) {
                 if (!angular.isObject(penalty.org_unit()))
-                    penalty.org_unit(egCore.org.get(penalty.org_unit()));
+                    // clone the org unit IDL object and set children to an empty array
+                    org_unit = egCore.idl.Clone(egCore.org.get(penalty.org_unit()));
+                    org_unit.children([])
+                    penalty.org_unit(org_unit);
             }
         );