#49 Make the 100 MB ajax upload limit an option

This commit is contained in:
Karel Picman 2013-11-14 08:34:17 +01:00
parent d423d471fe
commit b7b051e8fb
13 changed files with 69 additions and 24 deletions

View File

@ -22,7 +22,15 @@
:id => 'uploadform', :method=>:post, :multipart => true) do %>
<% if Setting.attachment_max_size.to_i >= 102400 %>
<div class="upload_select">
<%= l(:label_file_size) %>: <select id="uploader_select"><option value="1">&lt; 100 MB</option><option value="2">> 100 MB</option></select>
<%= l(:label_file_size) %>:
<select id="uploader_select">
<option value="1">
&lt; <%= "#{Setting.plugin_redmine_dmsf['dmsf_max_ajax_upload_filesize']}" %> MB
</option>
<option value="2">
> <%= "#{Setting.plugin_redmine_dmsf['dmsf_max_ajax_upload_filesize']}" %> MB
</option>
</select>
</div>
<% end %>
<h3><%= l(:heading_file_upload) %></h3>
@ -55,7 +63,7 @@
originalUploaderContent = uploader.html();
jQuery('#uploader_select').change(function() {
if(jQuery(this).val() === 2) {
if(jQuery(this).val() == 2) {
uploader.html(originalUploaderContent);
} else {
initPlUploader(uploader);
@ -97,7 +105,7 @@
uploader.plupload({
runtimes : 'html5,flash,html4',
url : '<%= url_for({:controller => 'dmsf_upload', :action => 'upload_file', :id => @project}) %>',
max_file_size : '100mb',
max_file_size : '<%= "#{Setting.plugin_redmine_dmsf['dmsf_max_ajax_upload_filesize']}mb" %>',
max_file_count: '<%= Setting.plugin_redmine_dmsf['dmsf_max_file_upload'].to_i if Setting.plugin_redmine_dmsf['dmsf_max_file_upload'].to_i > 0 %>',
multipart: true,
multipart_params : {authenticity_token : jQuery('input[name=authenticity_token]').val()},
@ -147,8 +155,8 @@
*/
}
}
if(pluploader.total.uploaded === pluploader.files.length) jQuery('#uploadform').submit();
else if(pluploader.total.uploaded + pluploader.total.failed === pluploader.files.length) setTimeout(function() {jQuery('#uploadform').submit();}, 2000);
if(pluploader.total.uploaded == pluploader.files.length) jQuery('#uploadform').submit();
else if(pluploader.total.uploaded + pluploader.total.failed == pluploader.files.length) setTimeout(function() {jQuery('#uploadform').submit();}, 2000);
else dmsfFileFieldCount++;
return true;
});

View File

@ -170,7 +170,7 @@
});
jQuery('#file_upload').change(function() {
if(jQuery("input[name='version']:checked").val() === '0') {
if(jQuery("input[name='version']:checked").val() == '0') {
jQuery('#fileMinorVersionRadio').prop('checked', true);
}
jQuery('#fileSameVersionRadio').prop('disabled', true);

View File

@ -41,6 +41,14 @@
<%= l(:note_maximum_email_filesize) %>
</p>
<p>
<%= content_tag(:label, "#{l(:label_maximum_ajax_upload_filesize)}:") %>
<%= text_field_tag 'settings[dmsf_max_ajax_upload_filesize]', @settings['dmsf_max_ajax_upload_filesize'], :size => 10 %><br/>
(<%= l(:label_default) %>: 100)
<br/>
<%= l(:note_maximum_ajax_upload_filesize) %>
</p>
<p>
<%= content_tag(:label, "#{l(:label_file_storage_directory)}:") %>
<%

View File

@ -279,4 +279,7 @@ cs:
my:
blocks:
locked_documents: Zamčené dokumenty
open_approvals: Procesy ke schválení
open_approvals: Procesy ke schválení
label_maximum_ajax_upload_filesize: Maximální velikost souboru nahratelná přes AJAX
note_maximum_ajax_upload_filesize: Omezuje velikost souboru, který může být nahrán přes standardní rozhraní AJAX, jinak se použije standarní rozhraní Redminu. Číslo je MB.

View File

@ -281,4 +281,7 @@ de:
my:
blocks:
locked_documents: Locked documents
open_approvals: Open approvals
open_approvals: Open approvals
label_maximum_ajax_upload_filesize: Maximum file size uploadable via AJAX
note_maximum_ajax_upload_filesize: Limits maximum file size that can uploaded via standard AJAX interface otherwise Redmine standard upload form must be used. Number is in MB.

View File

@ -283,3 +283,6 @@ en:
blocks:
locked_documents: Locked documents
openap_provals: Open approvals
label_maximum_ajax_upload_filesize: Maximum file size uploadable via AJAX
note_maximum_ajax_upload_filesize: Limits maximum file size that can uploaded via standard AJAX interface otherwise Redmine standard upload form must be used. Number is in MB.

View File

@ -280,4 +280,8 @@ es:
my:
blocks:
locked_documents: Locked documents
open_approvals: Open approvals
open_approvals: Open approvals
label_maximum_ajax_upload_filesize: Maximum file size uploadable via AJAX
note_maximum_ajax_upload_filesize: Limits maximum file size that can uploaded via standard AJAX interface otherwise Redmine standard upload form must be used. Number is in MB.

View File

@ -280,4 +280,7 @@ fr:
my:
blocks:
locked_documents: Locked documents
open_approvals: Open approvals
open_approvals: Open approvals
label_maximum_ajax_upload_filesize: Maximum file size uploadable via AJAX
note_maximum_ajax_upload_filesize: Limits maximum file size that can uploaded via standard AJAX interface otherwise Redmine standard upload form must be used. Number is in MB.

View File

@ -280,4 +280,7 @@ ja:
my:
blocks:
locked_documents: Locked documents
open_approvals: Open approvals
open_approvals: Open approvals
label_maximum_ajax_upload_filesize: Maximum file size uploadable via AJAX
note_maximum_ajax_upload_filesize: Limits maximum file size that can uploaded via standard AJAX interface otherwise Redmine standard upload form must be used. Number is in MB.

View File

@ -280,4 +280,7 @@ ru:
my:
blocks:
locked_documents: Locked documents
open_approvals: Open approvals
open_approvals: Open approvals
label_maximum_ajax_upload_filesize: Maximum file size uploadable via AJAX
note_maximum_ajax_upload_filesize: Limits maximum file size that can uploaded via standard AJAX interface otherwise Redmine standard upload form must be used. Number is in MB.

View File

@ -280,4 +280,7 @@ sl:
my:
blocks:
locked_documents: Locked documents
open_approvals: Open approvals
open_approvals: Open approvals
label_maximum_ajax_upload_filesize: Maximum file size uploadable via AJAX
note_maximum_ajax_upload_filesize: Limits maximum file size that can uploaded via standard AJAX interface otherwise Redmine standard upload form must be used. Number is in MB.

View File

@ -281,4 +281,7 @@ zh:
my:
blocks:
locked_documents: Locked documents
open_approvals: Open approvals
open_approvals: Open approvals
label_maximum_ajax_upload_filesize: Maximum file size uploadable via AJAX
note_maximum_ajax_upload_filesize: Limits maximum file size that can uploaded via standard AJAX interface otherwise Redmine standard upload form must be used. Number is in MB.

21
init.rb
View File

@ -33,16 +33,17 @@ Redmine::Plugin.register :redmine_dmsf do
requires_redmine :version_or_higher => '2.3.0'
settings :partial => 'settings/dmsf_settings',
:default => {
'dmsf_max_file_upload' => '0',
'dmsf_max_file_download' => '0',
'dmsf_max_email_filesize' => '0',
'dmsf_storage_directory' => Rails.root.join('files/dmsf').to_s,
'dmsf_index_database' => Rails.root.join('files/dmsf_index').to_s,
'dmsf_stemming_lang' => 'english',
'dmsf_stemming_strategy' => 'STEM_NONE',
'dmsf_webdav' => '1'
}
:default => {
'dmsf_max_file_upload' => '0',
'dmsf_max_file_download' => '0',
'dmsf_max_email_filesize' => '0',
'dmsf_max_ajax_upload_filesize' => '100',
'dmsf_storage_directory' => Rails.root.join('files/dmsf').to_s,
'dmsf_index_database' => Rails.root.join('files/dmsf_index').to_s,
'dmsf_stemming_lang' => 'english',
'dmsf_stemming_strategy' => 'STEM_NONE',
'dmsf_webdav' => '1'
}
menu :project_menu, :dmsf, { :controller => 'dmsf', :action => 'show' }, :caption => :menu_dmsf, :before => :documents, :param => :id