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 2012/03/30 18:47:55 UTC

svn commit: r1307531 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main: java/org/apache/archiva/webapp/ui/services/model/ webapp/js/archiva/ webapp/js/templates/archiva/

Author: olamy
Date: Fri Mar 30 16:47:54 2012
New Revision: 1307531

URL: http://svn.apache.org/viewvc?rev=1307531&view=rev
Log:
file upload form validation

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/model/FileMetadata.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/model/FileMetadata.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/model/FileMetadata.java?rev=1307531&r1=1307530&r2=1307531&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/model/FileMetadata.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/model/FileMetadata.java Fri Mar 30 16:47:54 2012
@@ -113,7 +113,6 @@ public class FileMetadata
         return deleteUrl;
     }
 
-
     public void setDeleteUrl( String deleteUrl )
     {
         this.deleteUrl = deleteUrl;
@@ -279,4 +278,5 @@ public class FileMetadata
         sb.append( '}' );
         return sb.toString();
     }
+
 }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js?rev=1307531&r1=1307530&r2=1307531&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js Fri Mar 30 16:47:54 2012
@@ -26,6 +26,7 @@ define("archiva.artifacts-management",["
   }
 
   ArtifactUploadViewModel=function(managedRepositories){
+    var self=this;
     this.managedRepositories=ko.observableArray(managedRepositories);
     this.repositoryId=ko.observable();
     this.groupId=ko.observable();
@@ -34,8 +35,17 @@ define("archiva.artifacts-management",["
     this.packaging=ko.observable();
     this.generatePom=ko.observable();
 
+    this.artifactUploads=[];
+
     saveArtifacts=function(){
-      $.log("saveArtifacts");
+
+      if(!$("#main-content #fileupload" ).valid()){
+        return;
+      }
+      if(this.artifactUploads.length<1){
+        displayErrorMessage( $.i18n.prop("fileupload.upload.required"));
+        return;
+      }
     }
 
   }
@@ -50,7 +60,11 @@ define("archiva.artifacts-management",["
         success: function(data) {
           var artifactUploadViewModel=new ArtifactUploadViewModel(data);
           ko.applyBindings(artifactUploadViewModel,mainContent.find("#file-upload-main" ).get(0));
-
+          var validator =  $("#main-content #fileupload" ).validate({
+            showErrors: function(validator, errorMap, errorList) {
+             customShowError("#main-content #fileupload",validator,errorMap,errorMap);
+            }
+          });
           $('#fileupload').fileupload({
               add: function (e, data) {
                 data.formData = {
@@ -61,16 +75,20 @@ define("archiva.artifacts-management",["
                   generatePom: artifactUploadViewModel.generatePom(),
                   repositoryId: artifactUploadViewModel.repositoryId()
                 };
-                $.log("fileupload add file");
                 $.blueimpUI.fileupload.prototype.options.add.call(this, e, data);
+              },
+              submit: function (e, data) {
+                var $this = $(this);
+
+                $this.fileupload('send', data);
+                artifactUploadViewModel.artifactUploads.push(new ArtifactUpload(data.formData.classifier,data.formData.pomFile));
+                return false;
               }
             }
           );
           $('#fileupload').bind('fileuploadsubmit', function (e, data) {
             var pomFile = data.context.find('#pomFile' ).val();
             var classifier = data.context.find('#classifier' ).val();
-
-            $.log("pomFile:"+pomFile+",classifier:"+classifier);
             data.formData.pomFile = pomFile;
             data.formData.classifier = classifier;
           });

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html?rev=1307531&r1=1307530&r2=1307531&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html Fri Mar 30 16:47:54 2012
@@ -33,14 +33,14 @@
         </div>
       </div>
       <div class="control-group">
-        <label class="control-label" for="artifactId">${$.i18n.prop('fileupload.version')}</label>
+        <label class="control-label" for="version">${$.i18n.prop('fileupload.version')}</label>
         <div class="controls">
           <input type="text" class="xlarge required" data-bind="value: version" id="version" name="version" size="10" />
           </div>
         </div>
       </div>
       <div class="control-group">
-        <label class="control-label" for="artifactId">${$.i18n.prop('fileupload.packaging')}</label>
+        <label class="control-label" for="packaging">${$.i18n.prop('fileupload.packaging')}</label>
         <div class="controls">
           <input type="text" class="xlarge required" data-bind="value: packaging" id="packaging" name="packaging" size="10" />
           </div>
@@ -49,7 +49,7 @@
       <div class="control-group">
         <label class="control-label" for="generatePom">${$.i18n.prop('fileupload.generatePom')}</label>
         <div class="controls">
-          <input type="checkbox" class="xlarge required" data-bind="value: generatePom" id="generatePom" name="generatePom" />
+          <input type="checkbox" class="xlarge" data-bind="value: generatePom" id="generatePom" name="generatePom" />
           </div>
         </div>
       </div>