aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2013-05-07 10:07:09 +0100
committerLouise Crow <louise.crow@gmail.com>2013-05-07 10:07:09 +0100
commit3f23471e6507f1da77e0b588f005ebcdeda0350d (patch)
tree6a629e96efe74bf72b7c1299f6a8b1d0a4ec8f87
parent0bb2950c79674ca968ea018c0e7242fba19b9c81 (diff)
Bugfix for the case where a suspended user sends a contact message. Their name (with the '(account suspended)' suffix) is marked by the translation call as HTML safe, so escapes the angled brackets when they are appended to it in the contact mailer code. Use string interpolation instead.hotfix/0.9.0.2
-rw-r--r--app/models/contact_mailer.rb2
-rw-r--r--spec/models/contact_mailer_spec.rb16
2 files changed, 16 insertions, 2 deletions
diff --git a/app/models/contact_mailer.rb b/app/models/contact_mailer.rb
index abde64928..318f54ea8 100644
--- a/app/models/contact_mailer.rb
+++ b/app/models/contact_mailer.rb
@@ -8,7 +8,7 @@ class ContactMailer < ApplicationMailer
# Send message to administrator
def to_admin_message(name, email, subject, message, logged_in_user, last_request, last_body)
- @from = name + " <" + email + ">"
+ @from = "#{name} <#{email}>"
@recipients = contact_from_name_and_email
@subject = subject
@body = { :message => message,
diff --git a/spec/models/contact_mailer_spec.rb b/spec/models/contact_mailer_spec.rb
index 202e45758..3af55ad77 100644
--- a/spec/models/contact_mailer_spec.rb
+++ b/spec/models/contact_mailer_spec.rb
@@ -1,8 +1,22 @@
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
-describe ContactMailer, " when blah" do
+describe ContactMailer, "when sending mail with a SafeBuffer name param (as when a suspended user
+ sends a message)" do
before do
+
+ end
+
+ it 'should set a "from" address correctly' do
+ mail = ContactMailer.create_to_admin_message('test (account suspended)'.html_safe,
+ 'test@example.com',
+ 'Test subject',
+ 'Test message',
+ mock_model(User, :url_name => 'test_user'),
+ mock_model(InfoRequest, :url_title => 'test_request'),
+ mock_model(PublicBody, :url_name => 'test_public_body'))
+ mail.from.should_not be_nil
end
+
end