Author: olamy
Date: Mon Apr 29 12:22:01 2013
New Revision: 1476990

URL: http://svn.apache.org/r1476990
Log:
use the new bulk update mode

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js?rev=1476990&r1=1476989&r2=1476990&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
 Mon Apr 29 12:22:01 2013
@@ -1643,39 +1643,44 @@ define("archiva.general-admin",["jquery"
         $.log("save modifiesLdapGroupMappings");
         var message=$.i18n.prop('redback-runtime-ldap-group-mapping.updated');
         var userMessages=$("#user-messages");
+        var ldapGroupMappings=[];
         $.each(self.modifiesLdapGroupMappings(),function(idx,item){
-          if(!(item.automatic&item.roleNames().length<2)){
 
-            userMessages.empty();
+          if(!(item.automatic&item.roleNames().length<2)){
             $.log("update mapping for group:"+item.group());
-            var mainContent=$("#main-content");
-            var saveButton = 
mainContent.find("#redback-runtime-configuration-save" );
-            saveButton.button('loading');
-            userMessages.html(mediumSpinnerImg());
-            $.ajax("restServices/redbackServices/ldapGroupMappingService",
-                   {
-                     type: "POST",
-                     contentType: 'application/json',
-                     data:ko.toJSON(item),
-                     dataType: 'json',
-                     success: function(data) {
-                       
userMessages.html($.tmpl($("#alert-message-success").html(), { "message" : 
message }));
-                     },
-                     error: function(data) {
-                       var res = $.parseJSON(data.responseText);
-                       displayRestError(res);
-                     },
-                     complete:function(data){
-                       removeMediumSpinnerImg(userMessages);
-                       saveButton.button('reset');
-                       self.redbackRuntimeConfiguration().modified(false);
-                       
self.redbackRuntimeConfiguration().ldapConfiguration().modified(false);
-                     }
-                   }
-            );
+            ldapGroupMappings.push(item);
           }
         });
 
+        if (ldapGroupMappings.length>0){
+
+          var mainContent=$("#main-content");
+          var saveButton = 
mainContent.find("#redback-runtime-configuration-save" );
+          saveButton.button('loading');
+          userMessages.html(mediumSpinnerImg());
+          $.ajax("restServices/redbackServices/ldapGroupMappingService",
+                 {
+                   type: "POST",
+                   contentType: 'application/json',
+                   data:ko.toJSON(new 
LdapGroupMappingUpdateRequest(ldapGroupMappings)),
+                   dataType: 'json',
+                   success: function(data) {
+                     displaySuccessMessage(message);
+                   },
+                   error: function(data) {
+                     var res = $.parseJSON(data.responseText);
+                     displayRestError(res);
+                   },
+                   complete:function(data){
+                     removeMediumSpinnerImg(userMessages);
+                     saveButton.button('reset');
+                     self.redbackRuntimeConfiguration().modified(false);
+                     
self.redbackRuntimeConfiguration().ldapConfiguration().modified(false);
+                   }
+                 }
+          );
+        }
+
 
       } else {
         $.log("not save modifiesLdapGroupMappings");
@@ -2013,6 +2018,10 @@ define("archiva.general-admin",["jquery"
     this.update=true;
   }
 
+  LdapGroupMappingUpdateRequest=function(ldapGroupMappings){
+    
this.ldapGroupMappings=ko.observableArray(ldapGroupMappings?ldapGroupMappings:[]);
+  }
+
   mapLdapGroupMappings=function(data,modifyLdapGroupMapping){
     if(data!=null){
       return $.map(data,function(item){


Reply via email to