From e0bda97b6f9379782f246a15365eba713eb75d53 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 3 Jan 2009 14:44:12 +0000 Subject: [PATCH] Display a warning if some attachments were not saved (#2008). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2224 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/application.rb | 6 +++++- lang/bg.yml | 1 + lang/ca.yml | 1 + lang/cs.yml | 1 + lang/da.yml | 1 + lang/de.yml | 1 + lang/en.yml | 2 ++ lang/es.yml | 1 + lang/fi.yml | 1 + lang/fr.yml | 2 ++ lang/he.yml | 1 + lang/hu.yml | 1 + lang/it.yml | 1 + lang/ja.yml | 1 + lang/ko.yml | 1 + lang/lt.yml | 1 + lang/nl.yml | 1 + lang/no.yml | 1 + lang/pl.yml | 1 + lang/pt-br.yml | 1 + lang/pt.yml | 1 + lang/ro.yml | 1 + lang/ru.yml | 1 + lang/sk.yml | 1 + lang/sr.yml | 1 + lang/sv.yml | 1 + lang/th.yml | 1 + lang/tr.yml | 1 + lang/uk.yml | 1 + lang/vn.yml | 1 + lang/zh-tw.yml | 1 + lang/zh.yml | 1 + public/images/warning.png | Bin 535 -> 666 bytes public/stylesheets/application.css | 8 ++++++++ 34 files changed, 46 insertions(+), 1 deletion(-) diff --git a/app/controllers/application.rb b/app/controllers/application.rb index 7d89e2163..e8d0a85b7 100644 --- a/app/controllers/application.rb +++ b/app/controllers/application.rb @@ -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 diff --git a/lang/bg.yml b/lang/bg.yml index 775005797..df1869040 100644 --- a/lang/bg.yml +++ b/lang/bg.yml @@ -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." diff --git a/lang/ca.yml b/lang/ca.yml index d8e505454..d0d6b8278 100644 --- a/lang/ca.yml +++ b/lang/ca.yml @@ -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." diff --git a/lang/cs.yml b/lang/cs.yml index a50b2f3ed..16fde6274 100644 --- a/lang/cs.yml +++ b/lang/cs.yml @@ -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." diff --git a/lang/da.yml b/lang/da.yml index 85244b9b5..8f1049d05 100644 --- a/lang/da.yml +++ b/lang/da.yml @@ -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." diff --git a/lang/de.yml b/lang/de.yml index fd990aab0..4697aae6a 100644 --- a/lang/de.yml +++ b/lang/de.yml @@ -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." diff --git a/lang/en.yml b/lang/en.yml index 0bff7d46f..9bd56e875 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -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 diff --git a/lang/es.yml b/lang/es.yml index f26425a01..83c51e6ca 100644 --- a/lang/es.yml +++ b/lang/es.yml @@ -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." diff --git a/lang/fi.yml b/lang/fi.yml index 2e6a48789..236338600 100644 --- a/lang/fi.yml +++ b/lang/fi.yml @@ -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." diff --git a/lang/fr.yml b/lang/fr.yml index 4493c8d5a..c3210a554 100644 --- a/lang/fr.yml +++ b/lang/fr.yml @@ -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 diff --git a/lang/he.yml b/lang/he.yml index a7212a77b..617b3acbb 100644 --- a/lang/he.yml +++ b/lang/he.yml @@ -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." diff --git a/lang/hu.yml b/lang/hu.yml index e90dbb9de..1768cedbb 100644 --- a/lang/hu.yml +++ b/lang/hu.yml @@ -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." diff --git a/lang/it.yml b/lang/it.yml index dbec2d731..134096ba0 100644 --- a/lang/it.yml +++ b/lang/it.yml @@ -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." diff --git a/lang/ja.yml b/lang/ja.yml index 6c98b9a95..2ca1a4e4e 100644 --- a/lang/ja.yml +++ b/lang/ja.yml @@ -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." diff --git a/lang/ko.yml b/lang/ko.yml index db61e2895..cc072e104 100644 --- a/lang/ko.yml +++ b/lang/ko.yml @@ -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." diff --git a/lang/lt.yml b/lang/lt.yml index 75af6401e..ef2978e80 100644 --- a/lang/lt.yml +++ b/lang/lt.yml @@ -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." diff --git a/lang/nl.yml b/lang/nl.yml index f39fb54bb..bbffbf111 100644 --- a/lang/nl.yml +++ b/lang/nl.yml @@ -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." diff --git a/lang/no.yml b/lang/no.yml index 500da6ae5..9d0ccc932 100644 --- a/lang/no.yml +++ b/lang/no.yml @@ -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." diff --git a/lang/pl.yml b/lang/pl.yml index b38aa9e00..9742e19a1 100644 --- a/lang/pl.yml +++ b/lang/pl.yml @@ -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." diff --git a/lang/pt-br.yml b/lang/pt-br.yml index 5b3fc693d..90e7e770c 100644 --- a/lang/pt-br.yml +++ b/lang/pt-br.yml @@ -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." diff --git a/lang/pt.yml b/lang/pt.yml index e32b85127..17cc36b04 100644 --- a/lang/pt.yml +++ b/lang/pt.yml @@ -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." diff --git a/lang/ro.yml b/lang/ro.yml index e25cd17bf..25684ced3 100644 --- a/lang/ro.yml +++ b/lang/ro.yml @@ -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." diff --git a/lang/ru.yml b/lang/ru.yml index 93f5cffc8..2a8bd3c63 100644 --- a/lang/ru.yml +++ b/lang/ru.yml @@ -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." diff --git a/lang/sk.yml b/lang/sk.yml index 7d06e16e2..f1a96fcca 100644 --- a/lang/sk.yml +++ b/lang/sk.yml @@ -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.' 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." diff --git a/lang/sr.yml b/lang/sr.yml index a67385b2c..dbe5c5ef5 100644 --- a/lang/sr.yml +++ b/lang/sr.yml @@ -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." diff --git a/lang/sv.yml b/lang/sv.yml index 47ee5e61e..8cd5cbe1a 100644 --- a/lang/sv.yml +++ b/lang/sv.yml @@ -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." diff --git a/lang/th.yml b/lang/th.yml index 3bfa28006..cd3c481c2 100644 --- a/lang/th.yml +++ b/lang/th.yml @@ -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." diff --git a/lang/tr.yml b/lang/tr.yml index 61121950c..d6f32ce3c 100644 --- a/lang/tr.yml +++ b/lang/tr.yml @@ -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." diff --git a/lang/uk.yml b/lang/uk.yml index f51afc4ba..845fdece2 100644 --- a/lang/uk.yml +++ b/lang/uk.yml @@ -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." diff --git a/lang/vn.yml b/lang/vn.yml index 394c49b7d..59176772f 100644 --- a/lang/vn.yml +++ b/lang/vn.yml @@ -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." diff --git a/lang/zh-tw.yml b/lang/zh-tw.yml index 5644fd839..5679069a2 100644 --- a/lang/zh-tw.yml +++ b/lang/zh-tw.yml @@ -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." diff --git a/lang/zh.yml b/lang/zh.yml index e425be5c9..e1e30d27e 100644 --- a/lang/zh.yml +++ b/lang/zh.yml @@ -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." diff --git a/public/images/warning.png b/public/images/warning.png index bbef670b6a1db9f4fe60d34fd2b664daae4452a8..628cf2dae3d419ae220c8928ac71393b480745a3 100644 GIT binary patch delta 653 zcmV;80&@MA1eyhq8Gi-<001BJ|6u?C00d`2O+f$vugEtAis=9V02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00JyYL_t(I%cWCGNR$B({{DxnuIp>dR02a= zQjko_$TbabJq+s9W2tM=DWqeEE*&HYLW}H>M1@d?iV!RjEPsiJP6b&gMn-0?yRw*y z{*RfjgBpQr1rE&2VP-zQZRa2^LF5drI()F2Z0Z`Z;C^=Xi zC_d0g(KBmOAi2sD{f*&xU&BvvXXvJeIPrA%^!Vdl;dH%e8K~&p?6O#{VVbaW!U&ef z!W6yyUku{U8-Hpid+UYb(1~BCo9LptNq&8>!yoJ3Ui(i5RJ|XnYBklL!{@$-7=3mJ z>P@1c=7Oc79e-V7yf+%lD2!I;Y&nXBZ>=B!5?CB>LvEx6nI%n)qqi$#X#wKB(U7XP z2P=+4{b@j#r%9-K(8UqtSDk>0UKzf*HM9yqMZ1D!$A30t7FNJZJ_0~w6$Dp=!I`{) z?4mN{Ri51JFM1bO<_wbf(X%H))la2|25eb)2XE>YQ~@(13-ifYWacO=i?H&VVdWmd zP)D6Bj$gg=QgYN>IvVW`Z98XE=OD9h04f0D%iu7kK2882K!u;`hhfg6sJ=DeJKi+_ zFup&jYk#rwYkD>{wZor%2`_PPNsE5$Q4GmniDLRmNb^bI(p`!RRizg7rgYS3{$AdUN n#PuPbKz)Jw^43`IJO2WdOk>%nxl=Cy0000DZyb75^RAU7ak zc5*HtGB7YVATc>QF*7| z-rnBct*zFKgwA_&#&c`Vb8GkK=hl>r-g9HlQbNWl5XK<@#vusCN-^)&*5}5?)_ZH# zT1w72A;vKf&M_F)oRr>sYxl;z_ukgdwXMCJobTS=-h_MawXOgE|JK&ly}iBOt)1j|t$(Ght*wNFgy)=;-nF&fjD-L1@78Nt_wVoTt(>i;oZgg-*0rtHy}jP0 zrRSxT-kgl*l!V^3tpoEM=l}o!0d!JMQvg8b*k%9#0H8@kK~#9!b&hKnLO>XVtz|{- z%GzwKhu zBYo`CAfVK=Y*Gb=x?x(4Y};`KBok%ON>xc+i$oD)Ns=%YtFLdNlMR&*tH%of0000< LMNUMnLIPld5xDyw diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 751293bfb..824b4cb7b 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -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;