summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/mailer.rb11
-rw-r--r--test/unit/mailer_test.rb3
2 files changed, 10 insertions, 4 deletions
diff --git a/app/models/mailer.rb b/app/models/mailer.rb
index 1a2e35e7d..3d5231d36 100644
--- a/app/models/mailer.rb
+++ b/app/models/mailer.rb
@@ -352,9 +352,14 @@ class Mailer < ActionMailer::Base
# https://rails.lighthouseapp.com/projects/8994/tickets/1799-actionmailer-doesnt-set-template_format-when-rendering-layouts
def render_multipart(method_name, body)
- content_type "multipart/alternative"
- part :content_type => "text/plain", :body => render(:file => "#{method_name}.text.plain.rhtml", :body => body, :layout => 'mailer.text.plain.erb')
- part :content_type => "text/html", :body => render_message("#{method_name}.text.html.rhtml", body) unless Setting.plain_text_mail?
+ if Setting.plain_text_mail?
+ content_type "text/plain"
+ body render(:file => "#{method_name}.text.plain.rhtml", :body => body, :layout => 'mailer.text.plain.erb')
+ else
+ content_type "multipart/alternative"
+ part :content_type => "text/plain", :body => render(:file => "#{method_name}.text.plain.rhtml", :body => body, :layout => 'mailer.text.plain.erb')
+ part :content_type => "text/html", :body => render_message("#{method_name}.text.html.rhtml", body)
+ end
end
# Makes partial rendering work with Rails 1.2 (retro-compatibility)
diff --git a/test/unit/mailer_test.rb b/test/unit/mailer_test.rb
index d58d55900..cc6e6cf3e 100644
--- a/test/unit/mailer_test.rb
+++ b/test/unit/mailer_test.rb
@@ -103,7 +103,8 @@ class MailerTest < ActiveSupport::TestCase
journal = Journal.find(2)
Mailer.deliver_issue_edit(journal)
mail = ActionMailer::Base.deliveries.last
- assert_equal 1, mail.parts.size
+ assert_equal "text/plain", mail.content_type
+ assert_equal 0, mail.parts.size
assert !mail.encoded.include?('href')
end