Fix secondary patron editor to line up with what we have in reality user/jeffdavis/lp868653-secondary-perm-group-ui
authorJames Fournie <jfournie@sitka.bclibraries.ca>
Mon, 13 Feb 2012 17:21:59 +0000 (09:21 -0800)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Thu, 20 Mar 2014 17:59:34 +0000 (10:59 -0700)
- fixes "Secondary Groups Saved" message from happening all the time

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Open-ILS/web/js/ui/default/actor/user/register.js

index c3c8dc1..41d4940 100644 (file)
@@ -48,7 +48,7 @@ var stageUser;
 var optInSettings;
 var allCardsTemplate;
 var secondaryGroupsTemplate;
-var editSecondaryGroups;
+var secondaryGroupsChanged = false;
 var uEditCloneCopyAddr; // if true, copy addrs on clone instead of link
 var homeOuTypes = {};
 var holdPickupTypes = {};
@@ -470,6 +470,8 @@ function drawSecondaryGroups() {
 
     tbody.appendChild(row);
 
+    secondaryGroupsChanged = true;
+
     secondaryGroupsDialog.show();
 }
 
@@ -526,10 +528,8 @@ function saveSecondaryGroups(){
         ['open-ils.actor', 'open-ils.actor.user.set_groups'],
         { params : [openils.User.authtoken, patron.id(), groupids ] }
     );
-    if(data){
-        alert('Secondary Groups Saved');
-    } else {
-        alert('Error saving groups.  Contact your sysadmin.');
+    if(!data){
+        alert('Error saving secondary groups, but patron record likely saved successfully.  Contact support@sitka.bclibraries.ca and tell them you saw this.');
     }
     secondaryGroupsDialog.hide()
 }
@@ -1341,10 +1341,12 @@ function checkSecondaryGroupsPerm() {
     new openils.User().getPermOrgList(
         'CREATE_USER_GROUP_LINK',
         function(orgList) {
-            if(orgList.indexOf(patron.home_ou()) == -1)
+            if(orgList.indexOf(patron.home_ou()) == -1) {
                 dojo.addClass(dojo.byId('ueditSecondaryGrpButton'), 'hidden');
-            else
+                secondaryGroupsChanged = false;
+            } else {
                 dojo.removeClass(dojo.byId('ueditSecondaryGrpButton'), 'hidden');
+            }
         },
         true,
         true
@@ -2060,8 +2062,9 @@ function _uEditSave(doClone) {
             }
         }
     );
-
-    saveSecondaryGroups();
+    if(secondaryGroupsChanged){
+        saveSecondaryGroups();
+    }
 }
 
 function uUpdateContactInvalidators() {