Prevent folder / 0 size files from being uploaded.
This commit is contained in:
parent
5ed8014964
commit
57a15b3093
@ -62,8 +62,22 @@ class DmsfUploadController < ApplicationController
|
||||
f.write(buffer)
|
||||
end
|
||||
end
|
||||
|
||||
render :layout => false
|
||||
if File.size("#{DmsfHelper.temp_dir}/#{@disk_filename}") <= 0
|
||||
begin
|
||||
File.delete("#{DmsfHelper.temp_dir}/#{@disk_filename}")
|
||||
rescue
|
||||
end
|
||||
render :layout => nil, :json => { :jsonrpc => "2.0",
|
||||
:error => {
|
||||
:code => 103,
|
||||
:message => l(:header_minimum_filesize),
|
||||
:details => l(:error_minimum_filesize,
|
||||
:file => @tempfile.original_filename.to_s)
|
||||
}
|
||||
}
|
||||
else
|
||||
render :layout => false
|
||||
end
|
||||
end
|
||||
|
||||
#TODO: flash notice when files saved and unlocked
|
||||
|
||||
@ -49,7 +49,6 @@ class DmsfMailer < Mailer
|
||||
end
|
||||
|
||||
def send_documents(user, email_to, email_cc, email_subject, zipped_content, email_plain_body)
|
||||
debugger
|
||||
zipped_content_data = open(zipped_content, "rb") {|io| io.read }
|
||||
|
||||
@body = email_plain_body
|
||||
|
||||
@ -98,20 +98,27 @@
|
||||
|
||||
pluploader.bind('FileUploaded', function(pluploader, file, response) {
|
||||
var responseObject = jQuery.parseJSON(response.response);
|
||||
var disk_filename_input = jQuery("<input/>").attr("type","hidden")
|
||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][disk_filename]")
|
||||
.val(responseObject.disk_filename);
|
||||
uploader.append(disk_filename_input);
|
||||
var content_type_input = jQuery("<input/>").attr("type","hidden")
|
||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][content_type]")
|
||||
.val(responseObject.content_type);
|
||||
uploader.append(content_type_input);
|
||||
var original_filename_input = jQuery("<input/>").attr("type","hidden")
|
||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][original_filename]")
|
||||
.val(responseObject.original_filename);
|
||||
uploader.append(original_filename_input);
|
||||
if (responseObject.error == null) {
|
||||
var disk_filename_input = jQuery("<input/>").attr("type","hidden")
|
||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][disk_filename]")
|
||||
.val(responseObject.disk_filename);
|
||||
uploader.append(disk_filename_input);
|
||||
var content_type_input = jQuery("<input/>").attr("type","hidden")
|
||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][content_type]")
|
||||
.val(responseObject.content_type);
|
||||
uploader.append(content_type_input);
|
||||
var original_filename_input = jQuery("<input/>").attr("type","hidden")
|
||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][original_filename]")
|
||||
.val(responseObject.original_filename);
|
||||
uploader.append(original_filename_input);
|
||||
} else {
|
||||
file.status = plupload.FAILED;
|
||||
responseObject.error.file = file;
|
||||
pluploader.trigger('Error', responseObject.error);
|
||||
}
|
||||
|
||||
if(pluploader.total.uploaded == pluploader.files.length) jQuery('#uploadform').submit();
|
||||
else if(pluploader.total.uploaded + pluploader.total.failed == pluploader.files.length) setTimeout(2000, function() {jQuery('#uploadform').submit();})
|
||||
else dmsfFileFieldCount++;
|
||||
});
|
||||
}
|
||||
|
||||
@ -186,4 +186,6 @@ en:
|
||||
:error_max_email_filesize_exceeded: "You've exceeded the maximum filesize for sending via email. (%{number} MB)"
|
||||
:note_maximum_email_filesize: "Limits maximum filesize that can be sent via email. 0 means unlimited. Number is in MB."
|
||||
:label_maximum_email_filesize: "Maximum email attachment size"
|
||||
:header_minimum_filesize: "File Error."
|
||||
:error_minimum_filesize: "The file %{file} is 0 bytes and will not be attached."
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user