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>