diff --git a/app/models/attachment.rb b/app/models/attachment.rb index aca86cec..cdf5a3e4 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -21,8 +21,12 @@ class Attachment < ActiveRecord::Base belongs_to :container, :polymorphic => true belongs_to :author, :class_name => "User", :foreign_key => "author_id" + @@max_size = $RDM_ATTACHMENT_MAX_SIZE || 5*1024*1024 + cattr_reader :max_size + validates_presence_of :container, :filename - + validates_inclusion_of :filesize, :in => 1..@@max_size + def file=(incomming_file) unless incomming_file.nil? @temp_file = incomming_file diff --git a/app/views/documents/show.rhtml b/app/views/documents/show.rhtml index ace093dc..923701dd 100644 --- a/app/views/documents/show.rhtml +++ b/app/views/documents/show.rhtml @@ -31,7 +31,7 @@ <%= start_form_tag ({ :controller => 'documents', :action => 'add_attachment', :id => @document }, :multipart => true, :class => "tabular") %>

- <%= file_field_tag 'attachments[]', :size => 30 %>

+ <%= file_field_tag 'attachments[]', :size => 30 %> (<%= l(:label_max_size) %>: <%= human_size(Attachment.max_size) %>)

<%= submit_tag l(:button_add) %> <%= end_form_tag %> <% end %> diff --git a/app/views/issues/show.rhtml b/app/views/issues/show.rhtml index 0d4bfa49..a6fb4660 100644 --- a/app/views/issues/show.rhtml +++ b/app/views/issues/show.rhtml @@ -89,7 +89,7 @@ end %> <%= start_form_tag ({ :controller => 'issues', :action => 'add_attachment', :id => @issue }, :multipart => true, :class => "tabular") %>

- <%= file_field_tag 'attachments[]', :size => 30 %>

+ <%= file_field_tag 'attachments[]', :size => 30 %> (<%= l(:label_max_size) %>: <%= human_size(Attachment.max_size) %>)

<%= submit_tag l(:button_add) %> <%= end_form_tag %> <% end %> diff --git a/app/views/projects/add_document.rhtml b/app/views/projects/add_document.rhtml index e788a7bc..37e0b7d6 100644 --- a/app/views/projects/add_document.rhtml +++ b/app/views/projects/add_document.rhtml @@ -6,7 +6,7 @@

-<%= file_field_tag 'attachments[]', :size => 30 %>

+<%= file_field_tag 'attachments[]', :size => 30 %> (<%= l(:label_max_size) %>: <%= human_size(Attachment.max_size) %>)

<%= submit_tag l(:button_create) %> diff --git a/app/views/projects/add_file.rhtml b/app/views/projects/add_file.rhtml index 41c20843..5ae6dde2 100644 --- a/app/views/projects/add_file.rhtml +++ b/app/views/projects/add_file.rhtml @@ -9,7 +9,7 @@

-<%= file_field_tag 'attachments[]', :size => 30 %>

+<%= file_field_tag 'attachments[]', :size => 30 %> (<%= l(:label_max_size) %>: <%= human_size(Attachment.max_size) %>)

<%= submit_tag l(:button_add) %> <%= end_form_tag %> \ No newline at end of file diff --git a/app/views/projects/add_issue.rhtml b/app/views/projects/add_issue.rhtml index b60f91a2..dfd1b314 100644 --- a/app/views/projects/add_issue.rhtml +++ b/app/views/projects/add_issue.rhtml @@ -27,7 +27,7 @@

-<%= file_field_tag 'attachments[]', :size => 30 %>

+<%= file_field_tag 'attachments[]', :size => 30 %> (<%= l(:label_max_size) %>: <%= human_size(Attachment.max_size) %>)

diff --git a/config/config_custom.example.rb b/config/config_custom.example.rb index 689d9dae..b00e716b 100644 --- a/config/config_custom.example.rb +++ b/config/config_custom.example.rb @@ -63,3 +63,7 @@ # Textile formatting is automativaly disabled if RedCloth is not available # Set to true to manually disable. # $RDM_TEXTILE_DISABLED = true + +# Maximum size for attachments (in bytes) +# Default to 5 MB +# $RDM_ATTACHMENT_MAX_SIZE = 5*1024*1024 diff --git a/lang/de.yml b/lang/de.yml index 34fedc1e..03bbe18c 100644 --- a/lang/de.yml +++ b/lang/de.yml @@ -295,6 +295,7 @@ label_modified: geändert label_deleted: gelöscht label_latest_revision: Neueste Neuausgabe label_view_revisions: Die Neuausgaben ansehen +label_max_size: Maximale Größe button_login: Einloggen button_submit: Einreichen diff --git a/lang/en.yml b/lang/en.yml index b6734985..d41457d6 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -295,6 +295,7 @@ label_modified: modified label_deleted: deleted label_latest_revision: Latest revision label_view_revisions: View revisions +label_max_size: Maximum size button_login: Login button_submit: Submit diff --git a/lang/es.yml b/lang/es.yml index 7eb3fa9f..73ae4cec 100644 --- a/lang/es.yml +++ b/lang/es.yml @@ -295,6 +295,7 @@ label_modified: modificado label_deleted: suprimido label_latest_revision: La revisión más última label_view_revisions: Ver las revisiones +label_max_size: Tamaño máximo button_login: Conexión button_submit: Someter diff --git a/lang/fr.yml b/lang/fr.yml index 4b4b0492..e0e9d996 100644 --- a/lang/fr.yml +++ b/lang/fr.yml @@ -296,6 +296,7 @@ label_modified: modifié label_deleted: supprimé label_latest_revision: Dernière révision label_view_revisions: Voir les révisions +label_max_size: Taille maximale button_login: Connexion button_submit: Soumettre