MDL-31643 dndupload - prevent file upload when total file count would exceed the...
authorDavo Smith <git@davosmith.co.uk>
Thu, 23 Feb 2012 20:00:00 +0000 (20:00 +0000)
committerDavo Smith <git@davosmith.co.uk>
Thu, 1 Mar 2012 11:56:53 +0000 (11:56 +0000)
lib/form/dndupload.js

index b09e1a5..20fd984 100644 (file)
@@ -294,21 +294,22 @@ M.form_dndupload.init = function(Y, options) {
             this.pageentercount = 0;
             this.hide_upload_ready();
             this.hide_drop_target();
-            this.show_progress_spinner();
 
             var files = e._event.dataTransfer.files;
             if (this.filemanager) {
                 var currentfilecount = this.filemanager.filecount;
+                if (((currentfilecount + files.length) > this.maxfiles) && (this.maxfiles != -1)) {
+                    alert(M.util.get_string('maxfilesreached', 'moodle', this.maxfiles));
+                    return false;
+                }
+                this.show_progress_spinner();
                 for (var i=0, f; f=files[i]; i++) {
-                    if (currentfilecount >= this.maxfiles && this.maxfiles != -1) {
-                        alert(M.util.get_string('maxfilesreached', 'moodle', this.maxfiles));
-                        break;
-                    }
                     if (this.upload_file(f)) {
                         currentfilecount++;
                     }
                 }
             } else {
+                this.show_progress_spinner();
                 if (files.length >= 1) {
                     this.upload_file(files[0]);
                 }