Author: olamy
Date: Sat Dec 29 23:59:38 2012
New Revision: 1426864

URL: http://svn.apache.org/viewvc?rev=1426864&view=rev
Log:
fix validation of form

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=1426864&r1=1426863&r2=1426864&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
 Sat Dec 29 23:59:38 2012
@@ -585,7 +585,12 @@ define("archiva.general-admin",["jquery"
         var archivaRuntimeConfiguration=mapArchivaRuntimeConfiguration(data);
         var archivaRuntimeConfigurationViewModel=new 
ArchivaRuntimeConfigurationViewModel(archivaRuntimeConfiguration);
         
ko.applyBindings(archivaRuntimeConfigurationViewModel,mainContent.find("#cache-failure-form").get(0));
-
+        var validator = mainContent.find("#cache-failure-form-id")
+                .validate({
+                            showErrors: function(validator, errorMap, 
errorList) {
+                              
customShowError(mainContent.find("#cache-failure-form-id" 
),validator,errorMap,errorMap);
+                            }
+                          });
       }
     });
 
@@ -593,6 +598,31 @@ define("archiva.general-admin",["jquery"
   ArchivaRuntimeConfigurationViewModel=function(archivaRuntimeConfiguration){
     var self=this;
     
this.archivaRuntimeConfiguration=ko.observable(archivaRuntimeConfiguration);
+
+    save=function(){
+      var userMessages=$("#user-messages");
+
+      var mainContent=$("#main-content");
+
+      if (!mainContent.find("#cache-failure-form-id").valid()){
+        return;
+      }
+      userMessages.html(mediumSpinnerImg());
+      mainContent.find("#cache-failure-form-btn-save" ).button('loading');
+      
$.ajax("restServices/archivaServices/archivaRuntimeConfigurationService/archivaRuntimeConfiguration",
 {
+        type: "PUT",
+        contentType: 'application/json',
+        data: ko.toJSON(self.archivaRuntimeConfiguration),
+        dataType: 'json',
+        success: function(data){
+          displaySuccessMessage( 
$.i18n.prop("archiva.runtime-configuration.updated"));
+        },
+        complete: function(){
+          removeMediumSpinnerImg(userMessages);
+          mainContent.find("#cache-failure-form-btn-save" ).button('reset');
+        }
+      });
+    }
   }
 
   ArchivaRuntimeConfiguration=function(cacheConfiguration){

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=1426864&r1=1426863&r2=1426864&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
 Sat Dec 29 23:59:38 2012
@@ -335,48 +335,44 @@
 
 <script id="cache-failure-form-tmpl" type="text/html">
 
-  <div class="well">
+  <form class="well form-horizontal" id="cache-failure-form-id">
 
-
-    <form class="form-horizontal" id="cache-failure-form-id">
-
-
-      <div class="control-group">
-        <label class="control-label" 
for="usersCacheTimeToLiveSeconds">${$.i18n.prop('runtime.cache.timeToLiveSeconds.label')}</label>
-        <div class="controls">
-          <input type="text" class="xlarge required numeric" data-bind="value: 
archivaRuntimeConfiguration().urlFailureCacheConfiguration().timeToLiveSeconds"
-                 id="usersCacheTimeToLiveSeconds" 
name="usersCacheTimeToLiveSeconds" />
-        </div>
+    <div class="control-group">
+      <label class="control-label" 
for="usersCacheTimeToLiveSeconds">${$.i18n.prop('runtime.cache.timeToLiveSeconds.label')}</label>
+      <div class="controls">
+        <input type="text" class="xlarge required digits" data-bind="value: 
archivaRuntimeConfiguration().urlFailureCacheConfiguration().timeToLiveSeconds"
+               id="usersCacheTimeToLiveSeconds" 
name="usersCacheTimeToLiveSeconds" />
       </div>
+    </div>
 
-      <div class="control-group">
-        <label class="control-label" 
for="usersCacheTimeToIdleSeconds">${$.i18n.prop('runtime.cache.timeToIdleSeconds.label')}</label>
-        <div class="controls">
-          <input type="text" class="xlarge required numeric" data-bind="value: 
archivaRuntimeConfiguration().urlFailureCacheConfiguration().timeToIdleSeconds"
-                 id="usersCacheTimeToIdleSeconds" 
name="usersCacheTimeToIdleSeconds" />
-        </div>
+    <div class="control-group">
+      <label class="control-label" 
for="usersCacheTimeToIdleSeconds">${$.i18n.prop('runtime.cache.timeToIdleSeconds.label')}</label>
+      <div class="controls">
+        <input type="text" class="xlarge required digits" data-bind="value: 
archivaRuntimeConfiguration().urlFailureCacheConfiguration().timeToIdleSeconds"
+               id="usersCacheTimeToIdleSeconds" 
name="usersCacheTimeToIdleSeconds" />
       </div>
+    </div>
 
-      <div class="control-group">
-        <label class="control-label" 
for="maxElementsInMemory">${$.i18n.prop('runtime.cache.maxElementsInMemory.label')}</label>
-        <div class="controls">
-          <input type="text" class="xlarge required numeric" data-bind="value: 
archivaRuntimeConfiguration().urlFailureCacheConfiguration().maxElementsInMemory"
-                 id="maxElementsInMemory" name="maxElementsInMemory" />
-        </div>
+    <div class="control-group">
+      <label class="control-label" 
for="maxElementsInMemory">${$.i18n.prop('runtime.cache.maxElementsInMemory.label')}</label>
+      <div class="controls">
+        <input type="text" class="xlarge required digits" data-bind="value: 
archivaRuntimeConfiguration().urlFailureCacheConfiguration().maxElementsInMemory"
+               id="maxElementsInMemory" name="maxElementsInMemory" />
       </div>
+    </div>
 
-      <div class="control-group">
-        <label class="control-label" 
for="maxElementsOnDisk">${$.i18n.prop('runtime.cache.maxElementsOnDisk.label')}</label>
-        <div class="controls">
-          <input type="text" class="xlarge required numeric" data-bind="value: 
archivaRuntimeConfiguration().urlFailureCacheConfiguration().maxElementsOnDisk"
-                 id="maxElementsOnDisk" name="maxElementsOnDisk" />
-        </div>
+    <div class="control-group">
+      <label class="control-label" 
for="maxElementsOnDisk">${$.i18n.prop('runtime.cache.maxElementsOnDisk.label')}</label>
+      <div class="controls">
+        <input type="text" class="xlarge required digits" data-bind="value: 
archivaRuntimeConfiguration().urlFailureCacheConfiguration().maxElementsOnDisk"
+               id="maxElementsOnDisk" name="maxElementsOnDisk" />
       </div>
+    </div>
 
-    </form>
-
+    <button id="cache-failure-form-btn-save" 
data-loading-text="${$.i18n.prop('common.loading')}"
+            data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
 
-  </div>
+  </form>
 
 </script>
 


Reply via email to