From d6789593597694e78c4b2c5f40fe63cef3c48002 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Fri, 17 May 2013 16:51:09 +0000 Subject: [PATCH] Add links to attachments in new issue email notification (#12293). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11853 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/views/layouts/mailer.html.erb | 3 ++- app/views/mailer/_issue.html.erb | 9 +++++++++ app/views/mailer/_issue.text.erb | 7 +++++++ test/functional/issues_controller_test.rb | 19 +++++++++++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb index b100fe75d..46003e69d 100644 --- a/app/views/layouts/mailer.html.erb +++ b/app/views/layouts/mailer.html.erb @@ -12,13 +12,14 @@ h2, h3 { font-size: 1.1em; } a, a:link, a:visited { color: #2A5685;} a:hover, a:active { color: #c61a1a; } a.wiki-anchor { display: none; } +fieldset.attachments {border-width: 1px 0 0 0;} hr { width: 100%; height: 1px; background: #ccc; border: 0; } -.footer { +span.footer { font-size: 0.8em; font-style: italic; } diff --git a/app/views/mailer/_issue.html.erb b/app/views/mailer/_issue.html.erb index 3d851d442..829f8d576 100644 --- a/app/views/mailer/_issue.html.erb +++ b/app/views/mailer/_issue.html.erb @@ -13,3 +13,12 @@ <%= textilizable(issue, :description, :only_path => false) %> + +<% if issue.attachments.any? %> +
<%= l(:label_attachment_plural) %> + <% issue.attachments.each do |attachment| %> + <%= link_to_attachment attachment, :download => true, :only_path => false %> + (<%= number_to_human_size(attachment.filesize) %>)
+ <% end %> +
+<% end %> diff --git a/app/views/mailer/_issue.text.erb b/app/views/mailer/_issue.text.erb index 427b6a890..554488049 100644 --- a/app/views/mailer/_issue.text.erb +++ b/app/views/mailer/_issue.text.erb @@ -11,3 +11,10 @@ <% end -%> ---------------------------------------- <%= issue.description %> + +<% if issue.attachments.any? -%> +---<%= l(:label_attachment_plural).ljust(37, '-') %> +<% issue.attachments.each do |attachment| -%> +<%= attachment.filename %> (<%= number_to_human_size(attachment.filesize) %>) +<% end -%> +<% end -%> diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index b0dc58634..243ff83c9 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -2159,6 +2159,25 @@ class IssuesControllerTest < ActionController::TestCase assert_equal 59, File.size(attachment.diskfile) end + def test_post_create_with_attachment_should_notify_with_attachments + ActionMailer::Base.deliveries.clear + set_tmp_attachments_directory + @request.session[:user_id] = 2 + + with_settings :host_name => 'mydomain.foo', :protocol => 'http' do + assert_difference 'Issue.count' do + post :create, :project_id => 1, + :issue => { :tracker_id => '1', :subject => 'With attachment' }, + :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}} + end + end + + assert_not_nil ActionMailer::Base.deliveries.last + assert_select_email do + assert_select 'a[href^=?]', 'http://mydomain.foo/attachments/download', 'testfile.txt' + end + end + def test_post_create_with_failure_should_save_attachments set_tmp_attachments_directory @request.session[:user_id] = 2 -- 2.39.5