Author: olamy
Date: Wed Feb 27 11:01:07 2013
New Revision: 1450733

URL: http://svn.apache.org/r1450733
Log:
add ldapgroup mapping UI part

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

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=1450733&r1=1450732&r2=1450733&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
 Wed Feb 27 11:01:07 2013
@@ -1698,6 +1698,7 @@ define("archiva.general-admin",["jquery"
       }
       self.modifiesLdapGroupMappings=ko.observableArray([]);
     }
+    this.modifiesLdapGroupMappings=ko.observableArray([]);
 
     this.modifyLdapGroupMapping=function(roleNames,ldapGroupMapping){
       var toAdd=true;
@@ -1711,6 +1712,13 @@ define("archiva.general-admin",["jquery"
       }
       
$.log('modifyLdapGroupMapping:'+ldapGroupMapping.group()+','+self.modifiesLdapGroupMappings().length);
     };
+
+    addLdapGroupMapping=function(){
+      $.log("addLdapGroupMapping");
+      self.redbackRuntimeConfiguration().ldapGroupMappings.push(new 
LdapGroupMapping("",[],false,self.modifyLdapGroupMapping));
+      $("#ldap-group-mappings-div select" ).select2({width: "element"});
+    }
+
   }
 
   ManagerImplementationInformation=function(beanId,descriptionKey,readOnly){
@@ -1806,9 +1814,10 @@ define("archiva.general-admin",["jquery"
                 new 
RedbackRuntimeConfigurationViewModel(redbackRuntimeConfiguration,userManagerImplementationInformations,rbacManagerImplementationInformations);
 
             var groups=[];
-            $.log("before useLdap");
-            var useLdap = 
$.inArray("ldap",redbackRuntimeConfiguration.userManagerImpls())>0
-                    
||$.inArray("ldap",redbackRuntimeConfiguration.rbacManagerImpls())>0;
+            $.log("before 
useLdap:"+$.inArray("ldap",redbackRuntimeConfiguration.userManagerImpls())
+                          
+','+$.inArray("ldap",redbackRuntimeConfiguration.rbacManagerImpls()));
+            var useLdap = 
$.inArray("ldap",redbackRuntimeConfiguration.userManagerImpls())>=0
+                    
||$.inArray("ldap",redbackRuntimeConfiguration.rbacManagerImpls())>=0;
             $.log("useLdap:"+useLdap);
             if(useLdap){
               // load ldap roles
@@ -1887,6 +1896,7 @@ define("archiva.general-admin",["jquery"
   }
 
   LdapGroupMapping=function(group,roleNames,automatic,subscribeFn){
+    $.log("new LdapGroupMapping");
     var self=this;
     this.modified=ko.observable(false);
     //private String group;
@@ -1894,7 +1904,7 @@ define("archiva.general-admin",["jquery"
     this.group.subscribe(function(newValue){
       self.modified(true);
       if(subscribeFn){
-        subscribeFn(newValue)
+        subscribeFn(newValue,self)
       }
     });
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html?rev=1450733&r1=1450732&r2=1450733&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html
 Wed Feb 27 11:01:07 2013
@@ -1266,17 +1266,29 @@
     <tbody id="ldap-group-mappings-tbody">
     {{each(i, ldapGroupMapping) ldapGroupMappings()}}
       <tr>
-        <td>${ldapGroupMapping.group()}</td>
+        <td>${ldapGroupMapping.group()}
+          <select id="roles-group-${ldapGroupMapping.group()}" 
data-bind="options: ldapGroups, value: ldapGroupMapping.group, optionsCaption: 
'Select a LDAP Group'"
+                  size="1"></select>
+        </td>
         <td>
-          <div>
-            <select id="roles-group-${ldapGroupMapping.group()}" 
data-bind="options: $parent.allRoleNames, selectedOptions: 
ldapGroupMapping.roleNames"
-                    size="5" multiple="true" ></select>
-          </div>
-
+          <select id="roles-group-mapping-${ldapGroupMapping.group()}" 
data-bind="options: $parent.allRoleNames, selectedOptions: 
ldapGroupMapping.roleNames"
+                  size="5" multiple="true" ></select>
         </td>
       </tr>
     {{/each}}
     </tbody>
   </table>
+  <div>
+    <span class="btn btn-success">
+      <i class="icon-plus-sign icon-white" title="add mapping" 
data-bind="click: function(){ addLdapGroupMapping() }"/>
+    </span>
+    <table class="table table-condensed">
+      <tr>
+        <td></td>
+        <td></td>
+      </tr>
+    </table>
+  </div>
+
   </div>
 </script>


Reply via email to