not add empty header/footer to notification emails (#13482)

Contributed by Max Horn.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11721 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2013-04-18 00:58:24 +00:00
parent 9fea2ab6d2
commit 19f70c95d1
3 changed files with 34 additions and 0 deletions

View File

@ -25,9 +25,13 @@ hr {
</style> </style>
</head> </head>
<body> <body>
<% if Setting.emails_header.present? -%>
<span class="header"><%= Redmine::WikiFormatting.to_html(Setting.text_formatting, Setting.emails_header).html_safe %></span> <span class="header"><%= Redmine::WikiFormatting.to_html(Setting.text_formatting, Setting.emails_header).html_safe %></span>
<% end -%>
<%= yield %> <%= yield %>
<hr /> <hr />
<% if Setting.emails_footer.present? -%>
<span class="footer"><%= Redmine::WikiFormatting.to_html(Setting.text_formatting, Setting.emails_footer).html_safe %></span> <span class="footer"><%= Redmine::WikiFormatting.to_html(Setting.text_formatting, Setting.emails_footer).html_safe %></span>
<% end -%>
</body> </body>
</html> </html>

View File

@ -1,4 +1,8 @@
<% if Setting.emails_header.present? -%>
<%= Setting.emails_header %> <%= Setting.emails_header %>
<% end -%>
<%= yield %> <%= yield %>
<% if Setting.emails_footer.present? -%>
-- --
<%= Setting.emails_footer %> <%= Setting.emails_footer %>
<% end -%>

View File

@ -596,6 +596,15 @@ class MailerTest < ActiveSupport::TestCase
end end
end end
def test_layout_should_not_include_empty_emails_header
with_settings :emails_header => "", :plain_text_mail => 0 do
assert Mailer.test_email(User.find(1)).deliver
assert_select_email do
assert_select ".header", false
end
end
end
def test_layout_should_include_the_emails_footer def test_layout_should_include_the_emails_footer
with_settings :emails_footer => "*Footer content*" do with_settings :emails_footer => "*Footer content*" do
with_settings :plain_text_mail => 0 do with_settings :plain_text_mail => 0 do
@ -616,6 +625,23 @@ class MailerTest < ActiveSupport::TestCase
end end
end end
def test_layout_should_include_the_emails_footer
with_settings :emails_footer => "" do
with_settings :plain_text_mail => 0 do
assert Mailer.test_email(User.find(1)).deliver
assert_select_email do
assert_select ".footer", false
end
end
with_settings :plain_text_mail => 1 do
assert Mailer.test_email(User.find(1)).deliver
mail = last_email
assert_not_nil mail
assert_not_include "\n-- \n", mail.body.decoded
end
end
end
def test_should_escape_html_templates_only def test_should_escape_html_templates_only
Issue.generate!(:project_id => 1, :tracker_id => 1, :subject => 'Subject with a <tag>') Issue.generate!(:project_id => 1, :tracker_id => 1, :subject => 'Subject with a <tag>')
mail = last_email mail = last_email