diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index d8eadcf..7458806 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -44,15 +44,19 @@ class UserMailer < ActionMailer::Base def ban_user_mail_with_reason(user, reason, deactivated_profile) subject = _("[%{environment}] Profile deactivated") % { :environment => user.environment.name } @reason = reason + @deactivated_name = deactivated_profile.name + end + + def ban_user_mail(user) @recipient = user.name @name = user.name - @deactivated_name = deactivated_profile.name + @email = user.email @environment = user.environment.name @url = url_for(:host => user.environment.default_hostname, :controller => 'home') mail( to: user.email, from: "#{user.environment.name} <#{user.environment.contact_email}>", - subject: _(subject) % { :environment => user.environment.name } + subject: _(subject) % { :environment => user.environment.name } ) end diff --git a/app/models/user.rb b/app/models/user.rb index 8c7a690..0082ee0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -133,6 +133,7 @@ class User < ActiveRecord::Base self.person.visible = false begin self.person.save! && self.save! + UserMailer.ban_user_mail(person.user).deliver rescue Exception => exception logger.error(exception.to_s) false diff --git a/app/views/user_mailer/ban_user_mail.html.erb b/app/views/user_mailer/ban_user_mail.html.erb new file mode 100644 index 0000000..f3fd591 --- /dev/null +++ b/app/views/user_mailer/ban_user_mail.html.erb @@ -0,0 +1,12 @@ +<%= _('Hello %s,') % @name %> + +<%= _('Your email %s was just deactivated.') % [@email] %> + +<%= _('Please contact the administrator') %> +<%= @webmail %> + +<%= _('Greetings,') %> + +-- +<%= _('%s team.') % @environment %> +<%= @url %> diff --git a/test/unit/user_mailer_test.rb b/test/unit/user_mailer_test.rb index abb4a19..dbff94a 100644 --- a/test/unit/user_mailer_test.rb +++ b/test/unit/user_mailer_test.rb @@ -18,6 +18,7 @@ class UserMailerTest < ActiveSupport::TestCase end end +<<<<<<< HEAD should 'deliver deactivation email' do assert_difference 'ActionMailer::Base.deliveries.size' do u = create_user('some-user') @@ -31,6 +32,18 @@ class UserMailerTest < ActiveSupport::TestCase assert_match("[#{u.environment}] Profile deactivated", email.subject) end + should 'deliver deactivation email notify' do + user = create_user('some-user', :email => 'teste@teste.com') + assert_difference 'ActionMailer::Base.deliveries.size' do + UserMailer.ban_user_mail(user).deliver + end + end + + should 'verify deactivation email notification' do + user = create_user('some-user', :email => 'teste@teste.com') + email = UserMailer.ban_user_mail(user).deliver + end + private def read_fixture(action) -- libgit2 0.21.2