]> source.dussan.org Git - redmine.git/commitdiff
Display a warning if some attachments were not saved (#2008).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 3 Jan 2009 14:44:12 +0000 (14:44 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 3 Jan 2009 14:44:12 +0000 (14:44 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2224 e93f8b46-1217-0410-a6f0-8f06a7374b81

34 files changed:
app/controllers/application.rb
lang/bg.yml
lang/ca.yml
lang/cs.yml
lang/da.yml
lang/de.yml
lang/en.yml
lang/es.yml
lang/fi.yml
lang/fr.yml
lang/he.yml
lang/hu.yml
lang/it.yml
lang/ja.yml
lang/ko.yml
lang/lt.yml
lang/nl.yml
lang/no.yml
lang/pl.yml
lang/pt-br.yml
lang/pt.yml
lang/ro.yml
lang/ru.yml
lang/sk.yml
lang/sr.yml
lang/sv.yml
lang/th.yml
lang/tr.yml
lang/uk.yml
lang/vn.yml
lang/zh-tw.yml
lang/zh.yml
public/images/warning.png
public/stylesheets/application.css

index 7d89e21631e2bcb678b167be87213fb7345179d0..e8d0a85b753ae234f638c01ee3c46127d18dba5c 100644 (file)
@@ -175,6 +175,7 @@ class ApplicationController < ActionController::Base
   # TODO: move to model
   def attach_files(obj, attachments)
     attached = []
+    unsaved = []
     if attachments && attachments.is_a?(Hash)
       attachments.each_value do |attachment|
         file = attachment['file']
@@ -183,7 +184,10 @@ class ApplicationController < ActionController::Base
                               :file => file,
                               :description => attachment['description'].to_s.strip,
                               :author => User.current)
-        attached << a unless a.new_record?
+        a.new_record? ? (unsaved << a) : (attached << a)
+      end
+      if unsaved.any?
+        flash[:warning] = l(:warning_attachments_not_saved, unsaved.size)
       end
     end
     attached
index 775005797d5a44bc9ef788059d413e40fcd90b2d..df186904019617315ab87d39cbe4d1d9cf6327ec 100644 (file)
@@ -697,3 +697,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index d8e505454a33658c0ef5cd5908fbf76c2bc6ebf4..d0d6b8278410486d9a1236898d2ed1d1b42a98ce 100644 (file)
@@ -698,3 +698,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'\r
 setting_diff_max_lines_displayed: Max number of diff lines displayed\r
 text_plugin_assets_writable: Plugin assets directory writable\r
+warning_attachments_not_saved: "%d file(s) could not be saved."\r
index a50b2f3ed7defea2a53238344c57677a02fe4801..16fde627408c7ff06918cfbd8a77cfde9520a049 100644 (file)
@@ -702,3 +702,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 85244b9b58bb804107549439ee8f2a8e12832e8e..8f1049d05e4491f9cfa9e523ee74c7a7cc021db3 100644 (file)
@@ -698,3 +698,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index fd990aab041875b2513f5efec84767a427868d36..4697aae6a30aae470c8945eccafe02e2b353d243 100644 (file)
@@ -699,3 +699,4 @@ enumeration_issue_priorities: Ticket-Prioritäten
 enumeration_doc_categories: Dokumentenkategorien
 enumeration_activities: Aktivitäten (Zeiterfassung)
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 0bff7d46fb2f229851f1fbed5d2fa7fcb99954f1..9bd56e8757199c3a82973f81d8d5b5638b57dac0 100644 (file)
@@ -85,6 +85,8 @@ error_scm_command_failed: "An error occurred when trying to access the repositor
 error_scm_annotate: "The entry does not exist or can not be annotated."
 error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
 
+warning_attachments_not_saved: "%d file(s) could not be saved."
+
 mail_subject_lost_password: Your %s password
 mail_body_lost_password: 'To change your password, click on the following link:'
 mail_subject_register: Your %s account activation
index f26425a0175651fd118a2e29b5549250ffc19427..83c51e6ca72b6d2788e212acbf1d24214657035b 100644 (file)
@@ -682,3 +682,4 @@ text_user_wrote: '%s escribió:'
 text_wiki_destroy_confirmation: ¿Seguro que quiere borrar el wiki y todo su contenido?
 text_workflow_edit: Seleccionar un flujo de trabajo para actualizar
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 2e6a4878916b9f78859c9467014d5114742ba39f..236338600b7238ac48869756088d330bfa6e33da 100644 (file)
@@ -697,3 +697,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 4493c8d5a07d6fa31576d440fc65c2ca8c938a2e..c3210a55498fcee064adca15f9869dd1079eaf56 100644 (file)
@@ -85,6 +85,8 @@ error_scm_command_failed: "Une erreur s'est produite lors de l'accès au dépôt
 error_scm_annotate: "L'entrée n'existe pas ou ne peut pas être annotée."
 error_issue_not_found_in_project: "La demande n'existe pas ou n'appartient pas à ce projet"
 
+warning_attachments_not_saved: "%d fichier(s) n'ont pas pu être sauvegardés."
+
 mail_subject_lost_password: Votre mot de passe %s
 mail_body_lost_password: 'Pour changer votre mot de passe, cliquez sur le lien suivant:'
 mail_subject_register: Activation de votre compte %s
index a7212a77b0377c73ce60cfd7be4c2b3163c21ae9..617b3acbb47d83141b1b64751a6593b7a1a57967 100644 (file)
@@ -697,3 +697,4 @@ label_updated_time_by: עודכן ע"י %s לפני %s
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
+warning_attachments_not_saved: "%d file(s) could not be saved."
index e90dbb9de1969e976bf5909f99513f06116c9682..1768cedbbe5b41cc0cad135543c1575ae7b74d74 100644 (file)
@@ -698,3 +698,4 @@ label_updated_time_by: "Módosította %s ennyivel ezelőtt: %s"
 text_diff_truncated: '... A diff fájl vége nem jelenik meg, mert hosszab, mint a megjeleníthető sorok száma.'
 setting_diff_max_lines_displayed: A megjelenítendő sorok száma (maximum) a diff fájloknál
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index dbec2d731749eb68fa934262ea3a6328eb2b7069..134096ba02f1e8b780195dfc4872a74073706706 100644 (file)
@@ -697,3 +697,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 6c98b9a950a2c0a7e09479f895b57cf9594e03ed..2ca1a4e4e5993cfdc4ae42e3333e7f16e4a658b1 100644 (file)
@@ -698,3 +698,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index db61e2895957acdb8da6eac1b4538bdced018738..cc072e10419f7694a94036185d1a2114437e089a 100644 (file)
@@ -697,3 +697,4 @@ label_updated_time_by: %s가 %s 전에 변경
 text_diff_truncated: '... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.'
 setting_diff_max_lines_displayed: 차이점보기에 표시할 최대 줄수
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 75af6401ebe3419bd88f5761debcd32f7cec9f2d..ef2978e80345956ecc780d9a810f52a44dc09d83 100644 (file)
@@ -699,3 +699,4 @@ enumeration_issue_priorities: Darbo prioritetai
 enumeration_doc_categories: Dokumento kategorijos
 enumeration_activities: Veiklos (laiko sekimas)
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index f39fb54bbd5576c256b085965d2d3c7d6727f86f..bbffbf111434325df1f83d44806970a443776389 100644 (file)
@@ -699,3 +699,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 500da6ae577b54cd8c92c38d14ba323d0e0f279a..9d0ccc932b785206a0eca0a631a9ede167e7e2f2 100644 (file)
@@ -698,3 +698,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index b38aa9e009e9c39feceab3e9c3bb7febc0b9744b..9742e19a1a1c9e41a1ae58863a28e30c224036a2 100644 (file)
@@ -716,3 +716,4 @@ label_updated_time_by: Uaktualnione przez %s %s temu
 text_diff_truncated: '... Ten plik różnic został przycięty ponieważ jest zbyt długi.'
 setting_diff_max_lines_displayed: Maksymalna liczba linii różnicy do pokazania
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 5b3fc693d9524ba9077ec75e9cd66aa757dafba6..90e7e770c33404f3d2242146de0bdc6dd7aa25b1 100644 (file)
@@ -698,3 +698,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'\r
 setting_diff_max_lines_displayed: Max number of diff lines displayed\r
 text_plugin_assets_writable: Plugin assets directory writable\r
+warning_attachments_not_saved: "%d file(s) could not be saved."\r
index e32b85127513c4d56d37a4a0819432c8dec35e5e..17cc36b045be7eb8eb6324599f6e92f33164fa74 100644 (file)
@@ -699,3 +699,4 @@ label_updated_time_by: Actualizado por %s há %s
 text_diff_truncated: '... Este diff foi truncado porque excede o tamanho máximo que pode ser mostrado.'
 setting_diff_max_lines_displayed: Número máximo de linhas de diff mostradas
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index e25cd17bf3d8da04b8cf87008faccff7852a3416..25684ced373ebe7741f848d22e99cb62b45af3d2 100644 (file)
@@ -697,3 +697,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 93f5cffc8dabc9cd8ab4a8fd00a5e5af07c20714..2a8bd3c6301faddc42e5c7e5f83dd280e375d739 100644 (file)
@@ -731,3 +731,4 @@ text_wiki_destroy_confirmation: Вы уверены, что хотите уда
 text_workflow_edit: Выберите роль и трекер для редактирования последовательности состояний
 
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 7d06e16e24829827879ecab62de3c02ef0fa8821..f1a96fccabdbd1cca9191d956f7fe7a06f472a0c 100644 (file)
@@ -703,3 +703,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'\r
 setting_diff_max_lines_displayed: Max number of diff lines displayed\r
 text_plugin_assets_writable: Plugin assets directory writable\r
+warning_attachments_not_saved: "%d file(s) could not be saved."\r
index a67385b2c9c03feef53d2ba5cf4019ab4074d862..dbe5c5ef560739ed239cf835c0f5fd3dd98957b4 100644 (file)
@@ -698,3 +698,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 47ee5e61e72de12d08bc8e7026637b1c25da10a4..8cd5cbe1a8445593c5aba85a0d28cdbd91436ec8 100644 (file)
@@ -698,3 +698,4 @@ enumeration_issue_priorities: Ärendeprioriteter
 enumeration_doc_categories: Dokumentkategorier
 enumeration_activities: Aktiviteter (tidsuppföljning)
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 3bfa280067ec8f2819785e4386cd69505fe834a5..cd3c481c276b01a8730108b236b222bf837ccec7 100644 (file)
@@ -700,3 +700,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 61121950c706a4cadd7fbc355a1eb27cb44f3b95..d6f32ce3c98a9c4885b8566e7ee0d9d485bd1a2c 100644 (file)
@@ -698,3 +698,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index f51afc4ba4ccf8ffde14985e05fb2bd76649c1be..845fdece202f8b2f4db7dcb6a766a3c4775d5f3c 100644 (file)
@@ -699,3 +699,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
 setting_diff_max_lines_displayed: Max number of diff lines displayed
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index 394c49b7d8d63039547ceef4292f393082f805aa..59176772ff4747057cdc692d1381dad16601b343 100644 (file)
@@ -700,3 +700,4 @@ label_updated_time_by: Updated by %s %s ago
 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'\r
 setting_diff_max_lines_displayed: Max number of diff lines displayed\r
 text_plugin_assets_writable: Plugin assets directory writable\r
+warning_attachments_not_saved: "%d file(s) could not be saved."\r
index 5644fd839691457a5702757c1634fde58731e1da..5679069a2e42f7628f6bcb7415e26d18f0cb460a 100644 (file)
@@ -699,3 +699,4 @@ enumeration_issue_priorities: 項目優先權
 enumeration_doc_categories: 文件分類
 enumeration_activities: 活動 (時間追蹤)
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index e425be5c9f24d9bad660929bbb9099fab386c9a0..e1e30d27e302d071417314ac884cc97cc1c4cac6 100644 (file)
@@ -699,3 +699,4 @@ enumeration_issue_priorities: 问题优先级
 enumeration_doc_categories: 文档类别
 enumeration_activities: 活动(时间跟踪)
 text_plugin_assets_writable: Plugin assets directory writable
+warning_attachments_not_saved: "%d file(s) could not be saved."
index bbef670b6a1db9f4fe60d34fd2b664daae4452a8..628cf2dae3d419ae220c8928ac71393b480745a3 100644 (file)
Binary files a/public/images/warning.png and b/public/images/warning.png differ
index 751293bfb10316b6152df92c87750b0769bd285c..824b4cb7bd1a6dcc6b1aac53320d857b636c42dd 100644 (file)
@@ -314,6 +314,14 @@ div.flash.notice {
        color: #005f00;
 }
 
+div.flash.warning {
+  background: url(../images/warning.png) 8px 5px no-repeat;
+       background-color: #FFEBC1;
+       border-color: #FDBF3B;
+       color: #A6750C;
+  text-align: left;
+}
+
 .nodata, .warning {
     text-align: center;
        background-color: #FFEBC1;