diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 7458806..3b91cdb 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -43,11 +43,26 @@ class UserMailer < ActionMailer::Base def ban_user_mail_with_reason(user, reason, deactivated_profile) subject = _("[%{environment}] Profile deactivated") % { :environment => user.environment.name } - @reason = reason + if reason.blank? + @reason = "No reason supplied" + else + @reason = reason + end @deactivated_name = deactivated_profile.name + send_user_mail(user, subject) end def ban_user_mail(user) + subject = "[%{environment}] User Deactivated!" % { :environment => user.environment.name } + send_user_mail(user, subject) + end + + def delete_user_mail(user) + subject = "[%{environment}] User Deleted!" % { :environment => user.environment.name } + send_user_mail(user, subject) + end + + def send_user_mail(user, subject) @recipient = user.name @name = user.name @email = user.email diff --git a/app/models/person.rb b/app/models/person.rb index d0d0521..b53c6ca 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -70,6 +70,7 @@ class Person < Profile after_destroy do |person| Friendship.find(:all, :conditions => { :friend_id => person.id}).each { |friendship| friendship.destroy } + UserMailer.delete_user_mail(self.user).deliver end belongs_to :user, :dependent => :delete diff --git a/app/views/user_mailer/delete_user_mail.html.erb b/app/views/user_mailer/delete_user_mail.html.erb new file mode 100644 index 0000000..180043e --- /dev/null +++ b/app/views/user_mailer/delete_user_mail.html.erb @@ -0,0 +1,12 @@ +<%= _("Hello #{@name},") %> + +<%= _("Your account #{@email} was just deleted.") %> + +<%= _("Please contact the administrator") %> +<%= @webmail %> + +<%= _('Greetings,') %> + +-- +<%= _("#{@environment}'s team") %> +<%= @url %> diff --git a/test/unit/user_mailer_test.rb b/test/unit/user_mailer_test.rb index dbff94a..5d189de 100644 --- a/test/unit/user_mailer_test.rb +++ b/test/unit/user_mailer_test.rb @@ -8,17 +8,15 @@ class UserMailerTest < ActiveSupport::TestCase ActionMailer::Base.delivery_method = :test ActionMailer::Base.perform_deliveries = true ActionMailer::Base.deliveries = [] - + @user = create_user('some-user', :email => 'teste@teste.com') end should 'deliver activation email notify' do assert_difference 'ActionMailer::Base.deliveries.size' do - u = create_user('some-user') - UserMailer.activation_email_notify(u).deliver + UserMailer.activation_email_notify(@user).deliver end end -<<<<<<< HEAD should 'deliver deactivation email' do assert_difference 'ActionMailer::Base.deliveries.size' do u = create_user('some-user') @@ -33,17 +31,27 @@ class UserMailerTest < ActiveSupport::TestCase 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 + 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 + @user = create_user('some-user', :email => 'teste@teste.com') + email = UserMailer.ban_user_mail(@user).deliver + assert_match(/\[#{@user.environment}\] User Deactivated!/, email.subject) end + should 'deliver delete email notify' do + assert_difference 'ActionMailer::Base.deliveries.size' do + UserMailer.delete_user_mail(@user).deliver + end + end + + should 'verify delete email notification' do + email = UserMailer.delete_user_mail(@user).deliver + assert_match(/\[#{@user.environment}\] User Deleted!/, email.subject) + end private def read_fixture(action) -- libgit2 0.21.2