]> source.dussan.org Git - archiva.git/commitdiff
add validation for ldap form
authorOlivier Lamy <olamy@apache.org>
Sun, 23 Dec 2012 00:23:33 +0000 (00:23 +0000)
committerOlivier Lamy <olamy@apache.org>
Sun, 23 Dec 2012 00:23:33 +0000 (00:23 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1425383 13f79535-47bb-0310-9956-ffa450edef68

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

index 374bee46e74c5d1d7c5c79f22b36bf0242ac1dd9..0db8054b1e2c8ca867bad7728ed4e254563a0e10 100644 (file)
@@ -1414,6 +1414,23 @@ define("archiva.general-admin",["jquery","i18n","utils","jquery.tmpl","knockout"
       if (valid==false) {
         return;
       }
+      var useLdap = false;
+      for(var i=0;i<self.usedUserManagerImpls().length;i++){
+        var beanId=self.usedUserManagerImpls()[i].beanId;
+        $.log("beanId:"+beanId);
+        if(beanId=='ldap'){
+          useLdap=true;
+        }
+      }
+      $.log("useLdap:"+useLdap);
+      if(useLdap==true) {
+        valid = mainContent.find("#redback-runtime-ldap-form-id").valid();
+        $.log("ldap valid:"+valid);
+        if (valid==false) {
+          return;
+        }
+      }
+
       $.log("saveRedbackRuntimeConfiguration");
       var saveButton = mainContent.find("#redback-runtime-configuration-save" );
       saveButton.button('loading');
@@ -1495,6 +1512,27 @@ define("archiva.general-admin",["jquery","i18n","utils","jquery.tmpl","knockout"
       });
   }
 
+  activateLdapConfigurationFormValidation=function(){
+    var formSelector=$("#main-content" ).find("#redback-runtime-ldap-form-id");
+    var validator = formSelector.validate({
+      rules: {
+        ldapHost : {
+          digits: true,
+          min: 1,
+          required: true
+        },
+        ldapPort : {
+          digits: true,
+          min: 1,
+          required: true
+        }
+      },
+      showErrors: function(validator, errorMap, errorList) {
+        customShowError(formSelector,validator,errorMap,errorMap);
+      }
+    });
+  }
+
   displayRuntimeConfiguration=function(){
     $.log("displayRuntimeConfiguration");
     var mainContent = $("#main-content");
@@ -1516,6 +1554,7 @@ define("archiva.general-admin",["jquery","i18n","utils","jquery.tmpl","knockout"
           mainContent.html( $("#redback-runtime-configuration-main" ).tmpl() );
           ko.applyBindings(redbackRuntimeConfigurationViewModel,$("#redback-runtime-configuration-content" ).get(0));
           activateRedbackRuntimeGeneralFormValidation();
+          activateLdapConfigurationFormValidation();
         }
       });
 
index a76af51117de0e04c976b035c70600bd9a35cc7f..d7eb7bef21b95356a63eb7f0ae008f557da14e87 100644 (file)
         <form class="form-horizontal" id="redback-runtime-ldap-form-id">
 
             <div class="control-group">
-              <label for="ldap-host" class="control-label">
+              <label for="ldapHost" class="control-label">
                 ${$.i18n.prop('redback.runtime.ldap.host.label')}
               </label>
               <div class="controls">
-                <input type="text" id="ldap-host" name="ldap-host" class="input-xlarge"
+                <input type="text" id="ldapHost" name="ldapHost" class="input-xlarge"
                        data-bind="value: redbackRuntimeConfiguration().ldapConfiguration().hostName"/>
               </div>
             </div>
             <div class="control-group">
-              <label for="ldap-port" class="control-label">
+              <label for="ldapPort" class="control-label">
                 ${$.i18n.prop('redback.runtime.ldap.port.label')}
               </label>
               <div class="controls">
-                <input type="text" id="ldap-port" name="ldap-port" class="input-large"
+                <input type="text" id="ldapPort" name="ldapPort" class="input-large"
                        data-bind="value: redbackRuntimeConfiguration().ldapConfiguration().port"/>
               </div>
             </div>
             <div class="control-group">
-              <label for="ldap-baseDn" class="control-label">
+              <label for="ldapBaseDn" class="control-label">
                 ${$.i18n.prop('redback.runtime.ldap.baseDn.label')}
               </label>
               <div class="controls">
-                <input type="text" id="ldap-baseDn" name="ldap-baseDn" class="input-xxlarge"
+                <input type="text" id="ldapBaseDn" name="ldapBaseDn" class="input-xxlarge"
                        data-bind="value: redbackRuntimeConfiguration().ldapConfiguration().baseDn"/>
               </div>
             </div>
             <div class="control-group">
-              <label for="ldap-bindDn" class="control-label">
+              <label for="ldapBindDn" class="control-label">
                 ${$.i18n.prop('redback.runtime.ldap.bindDn.label')}
               </label>
               <div class="controls">
-                <input type="text" id="ldap-bindDn" name="ldap-bindDn" class="input-xxlarge"
+                <input type="text" id="ldapBindDn" name="ldapBindDn" class="input-xxlarge"
                        data-bind="value: redbackRuntimeConfiguration().ldapConfiguration().bindDn"/>
               </div>
             </div>
               </div>
             </div>
             <div class="control-group">
-              <label for="ldap-password" class="control-label">
+              <label for="ldapPassword" class="control-label">
                 ${$.i18n.prop('redback.runtime.ldap.password.label')}
               </label>
               <div class="controls">
-                <input type="password" id="ldap-password" name="ldap-password" class="input-xlarge"
+                <input type="password" id="ldapPassword" name="ldapPassword" class="input-xlarge"
                        data-bind="value: redbackRuntimeConfiguration().ldapConfiguration().password"/>
               </div>
             </div>