Commit 7830fa06580ba29179cecfcd30bb442ba989987e
1 parent
e0fed871
Exists in
master
and in
22 other branches
rails3: fix user_mailer
Showing
3 changed files
with
43 additions
and
44 deletions
Show diff stats
| @@ -0,0 +1,41 @@ | @@ -0,0 +1,41 @@ | ||
| 1 | +class User::Mailer < ActionMailer::Base | ||
| 2 | + def activation_email_notify(user) | ||
| 3 | + user_email = "#{user.login}@#{user.email_domain}" | ||
| 4 | + @name = user.name | ||
| 5 | + @email = user_email | ||
| 6 | + @webmail = MailConf.webmail_url(user.login, user.email_domain) | ||
| 7 | + @environment = user.environment.name | ||
| 8 | + @url = url_for(:host => user.environment.default_hostname, :controller => 'home') | ||
| 9 | + | ||
| 10 | + mail( | ||
| 11 | + to: user_email, | ||
| 12 | + from: "#{user.environment.name} <#{user.environment.contact_email}>", | ||
| 13 | + subject: _("[%{environment}] Welcome to %{environment} mail!") % { :environment => user.environment.name } | ||
| 14 | + ) | ||
| 15 | + end | ||
| 16 | + | ||
| 17 | + def activation_code(user) | ||
| 18 | + @recipient = user.name, | ||
| 19 | + @activation_code = user.activation_code | ||
| 20 | + @environment = user.environment.name | ||
| 21 | + @url = user.environment.top_url | ||
| 22 | + | ||
| 23 | + mail( | ||
| 24 | + from: "#{user.environment.name} <#{user.environment.contact_email}>", | ||
| 25 | + to: user.email, | ||
| 26 | + subject: _("[%s] Activate your account") % [user.environment.name], | ||
| 27 | + ) | ||
| 28 | + end | ||
| 29 | + | ||
| 30 | + def signup_welcome_email(user) | ||
| 31 | + @body = user.environment.signup_welcome_text_body.gsub('{user_name}', user.name) | ||
| 32 | + | ||
| 33 | + email_subject = user.environment.signup_welcome_text_subject | ||
| 34 | + mail( | ||
| 35 | + content_type: 'text/html', | ||
| 36 | + recipients: user.email, | ||
| 37 | + from: "#{user.environment.name} <#{user.environment.contact_email}>", | ||
| 38 | + subject: email_subject.blank? ? _("Welcome to environment %s") % [user.environment.name] : email_subject | ||
| 39 | + ) | ||
| 40 | + end | ||
| 41 | +end |
app/models/user.rb
| @@ -62,48 +62,6 @@ class User < ActiveRecord::Base | @@ -62,48 +62,6 @@ class User < ActiveRecord::Base | ||
| 62 | self.person.preferred_domain && self.person.preferred_domain.name || self.environment.default_hostname(true) | 62 | self.person.preferred_domain && self.person.preferred_domain.name || self.environment.default_hostname(true) |
| 63 | end | 63 | end |
| 64 | 64 | ||
| 65 | - class Mailer < ActionMailer::Base | ||
| 66 | - | ||
| 67 | - # FIXME use new ActionMailer API here | ||
| 68 | - def activation_email_notify(user) | ||
| 69 | - user_email = "#{user.login}@#{user.email_domain}" | ||
| 70 | - recipients user_email | ||
| 71 | - from "#{user.environment.name} <#{user.environment.contact_email}>" | ||
| 72 | - subject _("[%{environment}] Welcome to %{environment} mail!") % { :environment => user.environment.name } | ||
| 73 | - body :name => user.name, | ||
| 74 | - :email => user_email, | ||
| 75 | - :webmail => MailConf.webmail_url(user.login, user.email_domain), | ||
| 76 | - :environment => user.environment.name, | ||
| 77 | - :url => url_for(:host => user.environment.default_hostname, :controller => 'home') | ||
| 78 | - end | ||
| 79 | - | ||
| 80 | - def activation_code(user) | ||
| 81 | - @recipient = user.name, | ||
| 82 | - @activation_code = user.activation_code | ||
| 83 | - @environment = user.environment.name | ||
| 84 | - @url = user.environment.top_url | ||
| 85 | - | ||
| 86 | - mail( | ||
| 87 | - :from => "#{user.environment.name} <#{user.environment.contact_email}>", | ||
| 88 | - :to => user.email, | ||
| 89 | - :subject => _("[%s] Activate your account") % [user.environment.name], | ||
| 90 | - ) | ||
| 91 | - end | ||
| 92 | - | ||
| 93 | - # FIXME use new ActionMailer API here | ||
| 94 | - def signup_welcome_email(user) | ||
| 95 | - email_body = user.environment.signup_welcome_text_body.gsub('{user_name}', user.name) | ||
| 96 | - email_subject = user.environment.signup_welcome_text_subject | ||
| 97 | - | ||
| 98 | - content_type 'text/html' | ||
| 99 | - recipients user.email | ||
| 100 | - | ||
| 101 | - from "#{user.environment.name} <#{user.environment.contact_email}>" | ||
| 102 | - subject email_subject.blank? ? _("Welcome to environment %s") % [user.environment.name] : email_subject | ||
| 103 | - body email_body | ||
| 104 | - end | ||
| 105 | - end | ||
| 106 | - | ||
| 107 | def signup! | 65 | def signup! |
| 108 | User.transaction do | 66 | User.transaction do |
| 109 | self.save! | 67 | self.save! |
test/unit/user_mailer_test.rb
| @@ -14,9 +14,9 @@ class UserMailerTest < ActiveSupport::TestCase | @@ -14,9 +14,9 @@ class UserMailerTest < ActiveSupport::TestCase | ||
| 14 | 14 | ||
| 15 | should 'deliver activation email notify' do | 15 | should 'deliver activation email notify' do |
| 16 | assert_difference ActionMailer::Base.deliveries, :size do | 16 | assert_difference ActionMailer::Base.deliveries, :size do |
| 17 | - u = Person.find(:first).user | 17 | + u = create_user('some-user') |
| 18 | u.environment = Environment.default | 18 | u.environment = Environment.default |
| 19 | - User::Mailer.deliver_activation_email_notify(u) | 19 | + User::Mailer.activation_email_notify(u).deliver |
| 20 | end | 20 | end |
| 21 | end | 21 | end |
| 22 | 22 |