Author: olamy
Date: Fri Nov 23 21:33:34 2012
New Revision: 1413071

URL: http://svn.apache.org/viewvc?rev=1413071&view=rev
Log:
[MRM-1714] using LDAP can be configurable with the ui
limit choice to a list of available implementations.

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

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js?rev=1413071&r1=1413070&r2=1413071&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
 Fri Nov 23 21:33:34 2012
@@ -1155,9 +1155,10 @@ define("archiva.general-admin",["jquery"
     this.userManagerImpl=ko.observable(userManagerImpl);
   }
 
-  ArchivaRuntimeConfigurationViewModel=function(archivaRuntimeConfiguration){
+  
ArchivaRuntimeConfigurationViewModel=function(archivaRuntimeConfiguration,userManagerImplementationInformations){
     
this.archivaRuntimeConfiguration=ko.observable(archivaRuntimeConfiguration);
-    self=this;
+    
this.userManagerImplementationInformations=ko.observable(userManagerImplementationInformations);
+    var self=this;
 
     saveArchivaRuntimeConfiguration=function(){
       $.log("saveArchivaRuntimeConfiguration");
@@ -1190,20 +1191,47 @@ define("archiva.general-admin",["jquery"
     }
   }
 
+  UserManagerImplementationInformation=function(beanId,descriptionKey){
+    this.beanId=beanId;
+    this.descriptionKey=descriptionKey;
+    this.description= $.i18n.prop(descriptionKey);
+  }
+
+  mapUserManagerImplementationInformations=function(data){
+    return $.map(data, function(item) {
+      return mapUserManagerImplementationInformation(item);
+    });
+  }
+
+  mapUserManagerImplementationInformation=function(data){
+    if(data==null){
+      return null;
+    }
+    return new 
UserManagerImplementationInformation(data.beanId,data.descriptionKey);
+  }
+
   displayRuntimeConfiguration=function(){
     $.log("displayRuntimeConfiguration");
     var mainContent = $("#main-content");
     mainContent.html(mediumSpinnerImg());
 
-
-    
$.ajax("restServices/archivaServices/archivaRuntimeConfigurationService/archivaRuntimeConfiguration",
 {
+    
$.ajax("restServices/archivaServices/archivaRuntimeConfigurationService/userManagerImplementationInformation",
 {
       type: "GET",
       dataType: 'json',
       success: function(data) {
-        var archivaRuntimeConfiguration = mapArchivaRuntimeConfiguration(data);
-        var archivaRuntimeConfigurationViewModel = new 
ArchivaRuntimeConfigurationViewModel(archivaRuntimeConfiguration);
-        mainContent.html( $( "#runtime-configuration-main" ).tmpl( ) );
-        
ko.applyBindings(archivaRuntimeConfigurationViewModel,$("#runtime-configuration-content"
 ).get(0));
+      var 
userManagerImplementationInformations=mapUserManagerImplementationInformations(data);
+      
$.ajax("restServices/archivaServices/archivaRuntimeConfigurationService/archivaRuntimeConfiguration",
 {
+        type: "GET",
+        dataType: 'json',
+        success: function(data) {
+          var archivaRuntimeConfiguration = 
mapArchivaRuntimeConfiguration(data);
+          var archivaRuntimeConfigurationViewModel =
+              new 
ArchivaRuntimeConfigurationViewModel(archivaRuntimeConfiguration,userManagerImplementationInformations);
+          mainContent.html( $( "#runtime-configuration-main" ).tmpl( ) );
+          
ko.applyBindings(archivaRuntimeConfigurationViewModel,$("#runtime-configuration-content"
 ).get(0));
+        }
+      });
+
       }
     });
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html?rev=1413071&r1=1413070&r2=1413071&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html
 Fri Nov 23 21:33:34 2012
@@ -904,6 +904,7 @@
             ${$.i18n.prop('runtime-configuration.usermanager.label')}
           </label>
           <div class="controls">
+            <select data-bind="options: 
userManagerImplementationInformations,optionsValue: 'beanId', optionsText: 
'description', value: archivaRuntimeConfiguration().userManagerImpl, 
optionsCaption: 'Choose...'"></select>
             <input type="text" id="userManagerImpl" name="userManagerImpl" 
class="input-small required"
                     data-bind="value: 
archivaRuntimeConfiguration().userManagerImpl"/>
           </div>


Reply via email to