You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/02/27 12:01:07 UTC

svn commit: r1450733 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js: archiva/general-admin.js templates/archiva/general-admin.html

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>