Fixed: email notifications may affect language of notices on the UI (#4086).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3307 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
fe7d65922b
commit
ff77fb6aa9
|
@ -272,6 +272,7 @@ class Mailer < ActionMailer::Base
|
||||||
# Overrides default deliver! method to prevent from sending an email
|
# Overrides default deliver! method to prevent from sending an email
|
||||||
# with no recipient, cc or bcc
|
# with no recipient, cc or bcc
|
||||||
def deliver!(mail = @mail)
|
def deliver!(mail = @mail)
|
||||||
|
set_language_if_valid @initial_language
|
||||||
return false if (recipients.nil? || recipients.empty?) &&
|
return false if (recipients.nil? || recipients.empty?) &&
|
||||||
(cc.nil? || cc.empty?) &&
|
(cc.nil? || cc.empty?) &&
|
||||||
(bcc.nil? || bcc.empty?)
|
(bcc.nil? || bcc.empty?)
|
||||||
|
@ -313,6 +314,7 @@ class Mailer < ActionMailer::Base
|
||||||
private
|
private
|
||||||
def initialize_defaults(method_name)
|
def initialize_defaults(method_name)
|
||||||
super
|
super
|
||||||
|
@initial_language = current_language
|
||||||
set_language_if_valid Setting.default_language
|
set_language_if_valid Setting.default_language
|
||||||
from Setting.mail_from
|
from Setting.mail_from
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ require File.dirname(__FILE__) + '/../test_helper'
|
||||||
class MailerTest < ActiveSupport::TestCase
|
class MailerTest < ActiveSupport::TestCase
|
||||||
include Redmine::I18n
|
include Redmine::I18n
|
||||||
include ActionController::Assertions::SelectorAssertions
|
include ActionController::Assertions::SelectorAssertions
|
||||||
fixtures :projects, :issues, :users, :members, :member_roles, :documents, :attachments, :news, :tokens, :journals, :journal_details, :changesets, :trackers, :issue_statuses, :enumerations, :messages, :boards, :repositories
|
fixtures :projects, :enabled_modules, :issues, :users, :members, :member_roles, :roles, :documents, :attachments, :news, :tokens, :journals, :journal_details, :changesets, :trackers, :issue_statuses, :enumerations, :messages, :boards, :repositories
|
||||||
|
|
||||||
def test_generated_links_in_emails
|
def test_generated_links_in_emails
|
||||||
ActionMailer::Base.deliveries.clear
|
ActionMailer::Base.deliveries.clear
|
||||||
|
@ -296,4 +296,18 @@ class MailerTest < ActiveSupport::TestCase
|
||||||
assert_not_nil mail
|
assert_not_nil mail
|
||||||
mail
|
mail
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_mailer_should_not_change_locale
|
||||||
|
Setting.default_language = 'en'
|
||||||
|
# Set current language to italian
|
||||||
|
set_language_if_valid 'it'
|
||||||
|
# Send an email to a french user
|
||||||
|
user = User.find(1)
|
||||||
|
user.language = 'fr'
|
||||||
|
Mailer.deliver_account_activated(user)
|
||||||
|
mail = ActionMailer::Base.deliveries.last
|
||||||
|
assert mail.body.include?('Votre compte')
|
||||||
|
|
||||||
|
assert_equal :it, current_language
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue