]> source.dussan.org Git - redmine.git/commitdiff
Check attachment size when the user selects a file (#9667).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 25 Nov 2011 22:32:07 +0000 (22:32 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 25 Nov 2011 22:32:07 +0000 (22:32 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7926 e93f8b46-1217-0410-a6f0-8f06a7374b81

46 files changed:
app/views/attachments/_form.html.erb
config/locales/bg.yml
config/locales/bs.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/de.yml
config/locales/el.yml
config/locales/en-GB.yml
config/locales/en.yml
config/locales/es.yml
config/locales/eu.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fr.yml
config/locales/gl.yml
config/locales/he.yml
config/locales/hr.yml
config/locales/hu.yml
config/locales/id.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ko.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/mn.yml
config/locales/nl.yml
config/locales/no.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/pt.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sk.yml
config/locales/sl.yml
config/locales/sr-YU.yml
config/locales/sr.yml
config/locales/sv.yml
config/locales/th.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-TW.yml
config/locales/zh.yml
public/javascripts/application.js

index c14c23aef36eac008103f5ed3ff5f85849e812f4..33990e8ab0d1e7e5d059caa29fe9b2ed4c7dde54 100644 (file)
@@ -1,6 +1,7 @@
 <span id="attachments_fields">
   <span>
-    <%= file_field_tag 'attachments[1][file]', :size => 30, :id => nil, :class => 'file'  -%>
+    <%= file_field_tag 'attachments[1][file]', :size => 30, :id => nil, :class => 'file',
+          :onchange => "checkFileSize(this, #{Setting.attachment_max_size.to_i.kilobytes}, '#{escape_javascript(l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)))}');"  -%>
     <label class="inline"><%= l(:label_optional_description) %><%= text_field_tag 'attachments[1][description]', '', :size => 60, :id => nil, :class => 'description' %></label>
     <%= link_to_function(image_tag('delete.png'), 'removeFileField(this)', :title => (l(:button_delete))) %>
   </span>
index cbbf1fb49e5fd9f57148dcc030424e9936ad461d..96e6d73e873de574bf3ba09368614ae76c21cbb0 100644 (file)
@@ -1003,3 +1003,4 @@ bg:
   description_date_range_interval: Изберете диапазон чрез задаване на начална и крайна дати
   description_date_from: Въведете начална дата
   description_date_to: Въведете крайна дата
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 1087e1a26011efb5f7719b391e5127eab0573b05..a3df65633bb964cf781767f71e14398914c45867 100644 (file)
@@ -1019,3 +1019,4 @@ bs:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 3737830ff59959aa5940c1b939c05812dd8f9da9..06db085fc4535d0dedce33c3edc95561069ac05a 100644 (file)
@@ -1008,3 +1008,4 @@ ca:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 6c8dcc924a50de7d3cdfd1c8bf0d6317ab5465a1..7de2e2319625350a89e52d89ad8b5dc5b8abae52 100644 (file)
@@ -1009,3 +1009,4 @@ cs:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index de532a420d0d6171ba26d1638c64b4f3263494a0..00b74fe539593cc13e8129bf135c465f8a798b0d 100644 (file)
@@ -1022,3 +1022,4 @@ da:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 8dcbb686a6acce628e7dbf75981a32cc590a51bf..ea60e805759f1cb6155a94dc33e08e9df55b6461 100644 (file)
@@ -1026,3 +1026,4 @@ de:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 372830b8e3ddddf37fd714125011ce9ecaa83bf7..0fe05a1011714e8a7355933855349c6049aed5c4 100644 (file)
@@ -1005,3 +1005,4 @@ el:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 7c5844dc44d28bf39aba18ae85a5f647fe411220..9e437266eaf34a1484ff5f59edc66f7f6c9b5b82 100644 (file)
@@ -1008,3 +1008,4 @@ en-GB:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index a4f36684814d70b5c6bcd06d583ef6ea23d1f6ab..953eece044b6e1bbea25527aa57e59612595c831 100644 (file)
@@ -190,6 +190,7 @@ en:
   error_workflow_copy_target: 'Please select target tracker(s) and role(s)'
   error_unable_delete_issue_status: 'Unable to delete issue status'
   error_unable_to_connect: "Unable to connect (%{value})"
+  error_attachment_too_big: "This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})"
   warning_attachments_not_saved: "%{count} file(s) could not be saved."
 
   mail_subject_lost_password: "Your %{value} password"
index 6d0d19c4b6c8f6349e47695d0632b2127d2c14fd..c61bb8f06b5af8473555d3fd1265f8ef0879e46c 100644 (file)
@@ -1042,3 +1042,4 @@ es:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 01037927525f15edfda2e749689fa26cbe0cdac1..7fe7d1aaf92bdb597412247d94e984f3f7a5302e 100644 (file)
@@ -1009,3 +1009,4 @@ eu:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index db4961b728fef6123280bd2b523c4706bb44f7bc..5b1e5a2b60d365604c71e6bb2805ef1550605330 100644 (file)
@@ -1008,3 +1008,4 @@ fa:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 970c99f6f9f3b1735679dea3674524f69d8d1d9d..89ad071962b88048f2b1daa20184116f02ef4abf 100644 (file)
@@ -1026,3 +1026,4 @@ fi:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index bb347ec7e95237cfc77ca2eb1f31698144a501bf..579e666c9ddc044d83cc005d69ae285fe6e71e6c 100644 (file)
@@ -197,6 +197,7 @@ fr:
   error_workflow_copy_source: 'Veuillez sélectionner un tracker et/ou un rôle source'
   error_workflow_copy_target: 'Veuillez sélectionner les trackers et rôles cibles'
   error_issue_done_ratios_not_updated: L'avancement des demandes n'a pas pu être mis à jour.
+  error_attachment_too_big: Ce fichier ne peut pas être attaché car il excède la taille maximale autorisée (%{max_size})
 
   warning_attachments_not_saved: "%{count} fichier(s) n'ont pas pu être sauvegardés."
 
index 4f1347563c312ad3db91bed7f4ff6175ac6e2814..1d8d280b8c3d1617a189bc26024df93868796236 100644 (file)
@@ -1017,3 +1017,4 @@ gl:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 22c1c20e996b0eea0d45ba2cd1f6a42da2cba3d7..faf1a0507aa63e6ad7b0021f6573d30eb28e1102 100644 (file)
@@ -1010,3 +1010,4 @@ he:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index a90cd6b4dde1d64b71a8e1ba6cc456234bc85958..8ddd13e967b19ff2e09529c52f872c104ea4bbf2 100644 (file)
@@ -1012,3 +1012,4 @@ hr:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index ec80dac6be81a9caa72c0891c97668ec730de6ff..f43e7b0fcac59fdfc8d1a845e7f8eb9c0f7230aa 100644 (file)
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 3895f93183812f2d8c1be4710cd7aa256a4a99e5..23b92a7cf5ad579bc2699d87e5dc5c0ee7c6348d 100644 (file)
@@ -1013,3 +1013,4 @@ id:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 61d6ba4c65f4ca9150273271b0548b66b737c1c5..6ff2a49e1797490a531f295fe94e8b4a2c69dd3d 100644 (file)
@@ -1006,3 +1006,4 @@ it:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 55958d26c05ae616bbe6c2d183a6f190cc715033..78bfd78533a59ee427fad69ad82fb9d6ee4216a9 100644 (file)
@@ -1035,3 +1035,4 @@ ja:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 7ed420999857a4d406fd9e893e76fb72ecbb0c14..15e398f022521b2fc7385f908143302377ab38dc 100644 (file)
@@ -1057,3 +1057,4 @@ ko:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 7cd3879a2b2c1d31a3206acce1a2450a48d582c3..9c2e8b2aecdea6d19d7564283836c33e6d0e3c16 100644 (file)
@@ -1065,3 +1065,4 @@ lt:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 5be9a3f199c9e6756618255b1fc3251020f7c599..18fc69f6d8d36952936f7005cb1102526d37bbff 100644 (file)
@@ -1000,3 +1000,4 @@ lv:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index b3ff76b9ae04d80159a7645198d1345039887976..5934541c4501765a4177356200694879b70d2a52 100644 (file)
@@ -1005,3 +1005,4 @@ mk:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 16128e4aea85dac50d27709a67844024f1a7c7cd..577f058bea9147f3b5b35ba10f2e90dd1744b007 100644 (file)
@@ -1006,3 +1006,4 @@ mn:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index f6bb27d1613b7e46e52ee8a2942a95aca9eb0921..5fb7848e63c86392e602c3705691ff00dc4fead4 100644 (file)
@@ -987,3 +987,4 @@ nl:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 69bf7490bcab5e41b8ab872c2d9b1191484aa4e0..a5b36bdbae688d4f3330dfda0613ad5326f9161b 100644 (file)
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 4e53459adc60edf126c673e9fa8a2cb8f3991920..f255c9bfea2839bf75c5014dbd211a768b2951d7 100644 (file)
@@ -1022,3 +1022,4 @@ pl:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 1f14651f41de820b068abcaa57e16121714f9d54..1115fddb14133e0158d9e59aa24530233a05d581 100644 (file)
@@ -1026,3 +1026,4 @@ pt-BR:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 2ff204dc6479c772f53c53678d5f228859f60704..6faa0f19398c94884af6daff9ce74f0667126ee8 100644 (file)
@@ -1010,3 +1010,4 @@ pt:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index c430fe3a885a72c4b352e53df6d07746f835ee42..a742c63c65689caf234e32f8384e41f1ff468b88 100644 (file)
@@ -998,3 +998,4 @@ ro:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 0a15b80e685bcab083e663b6e94dd709726b52ff..f82f58f3668f630198481ba03585b02e6a74f6f6 100644 (file)
@@ -1118,3 +1118,4 @@ ru:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 628812d12c6d24a26d0618c63838a76f7d898fae..00922f02e67dba2d5162fac3b515ea894a01b5c9 100644 (file)
@@ -1000,3 +1000,4 @@ sk:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 0b4f060cba37e50613b4eaa945f5e7a307e33f44..518db6d3ab8dc130787e86960a95a74807637ef1 100644 (file)
@@ -1005,3 +1005,4 @@ sl:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 662ef51ebacc15b8ba6d18047f4d8f331ac43f86..c3e05e810eb730ad6be2648538137572c65cad86 100644 (file)
@@ -1005,3 +1005,4 @@ sr-YU:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 390f24e2e746b7d259e0843a111c5a2959e8d609..2c9b0b3d04b2ed55c24a2f7c9df0ce9e5dfcabd2 100644 (file)
@@ -1006,3 +1006,4 @@ sr:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 841da7b15c992f57d6147ee81205d72e35c9e0f1..ebd1c3622aa85f4f5a9e7bfe440bc8c49d8a1de0 100644 (file)
@@ -1046,3 +1046,4 @@ sv:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index c625e68bd3897d352cb9cd6b6a5089392463d560..70468d49736e4c8744be9adf4b851e2b63ff05f5 100644 (file)
@@ -1002,3 +1002,4 @@ th:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 1bde02b64e49df6b275d14dc5b9e885eba45640e..e167eb4c526e97bb3346c983dc9170ba1358b75e 100644 (file)
@@ -1024,3 +1024,4 @@ tr:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 3f2643485e22791c8867d78eec791ff13530a1ba..81d049899b160b37381910f804def1a9d4084447 100644 (file)
@@ -1001,3 +1001,4 @@ uk:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index d766a69e632337064e13710f3d29b53810332ce2..fb0a9fb684e7c41751d471c9746c575b9aeb56d3 100644 (file)
@@ -1056,3 +1056,4 @@ vi:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index e0e612c6c94b4adf07e20a99844788e7a25d89c1..ff62b32a0f91705a7cef310787bc24896d309255 100644 (file)
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 410dc84a96383cd5f33f292277eb88577aa2b7d6..0a9c57fa3e0d4c3576927e8fccd209182937ed53 100644 (file)
@@ -1007,3 +1007,4 @@ zh:
   description_all_columns: All Columns
   button_export: Export
   label_export_options: "%{export_format} export options"
+  error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
index 230e40b5db0bb9aa890d6fd13add907ddc09365a..aeade1b1c7eac055ab82651f5d09157e8f293568 100644 (file)
@@ -106,6 +106,18 @@ function removeFileField(el) {
        }
 }
 
+function checkFileSize(el, maxSize, message) {
+  var files = el.files;
+  if (files) {
+    for (var i=0; i<files.length; i++) {
+      if (files[i].size > maxSize) {
+        alert(message);
+        el.value = "";
+      }
+    }
+  }
+}
+
 function showTab(name) {
     var f = $$('div#content .tab-content');
        for(var i=0; i<f.length; i++){