##// END OF EJS Templates
Fixed: email notifications may affect language of notices on the UI (#4086)....
Jean-Philippe Lang -
r3193:ff77fb6aa9f1
parent child
Show More
@@ -272,6 +272,7 class Mailer < ActionMailer::Base
272 # Overrides default deliver! method to prevent from sending an email
272 # Overrides default deliver! method to prevent from sending an email
273 # with no recipient, cc or bcc
273 # with no recipient, cc or bcc
274 def deliver!(mail = @mail)
274 def deliver!(mail = @mail)
275 set_language_if_valid @initial_language
275 return false if (recipients.nil? || recipients.empty?) &&
276 return false if (recipients.nil? || recipients.empty?) &&
276 (cc.nil? || cc.empty?) &&
277 (cc.nil? || cc.empty?) &&
277 (bcc.nil? || bcc.empty?)
278 (bcc.nil? || bcc.empty?)
@@ -313,6 +314,7 class Mailer < ActionMailer::Base
313 private
314 private
314 def initialize_defaults(method_name)
315 def initialize_defaults(method_name)
315 super
316 super
317 @initial_language = current_language
316 set_language_if_valid Setting.default_language
318 set_language_if_valid Setting.default_language
317 from Setting.mail_from
319 from Setting.mail_from
318
320
@@ -20,7 +20,7 require File.dirname(__FILE__) + '/../test_helper'
20 class MailerTest < ActiveSupport::TestCase
20 class MailerTest < ActiveSupport::TestCase
21 include Redmine::I18n
21 include Redmine::I18n
22 include ActionController::Assertions::SelectorAssertions
22 include ActionController::Assertions::SelectorAssertions
23 fixtures :projects, :issues, :users, :members, :member_roles, :documents, :attachments, :news, :tokens, :journals, :journal_details, :changesets, :trackers, :issue_statuses, :enumerations, :messages, :boards, :repositories
23 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
24
24
25 def test_generated_links_in_emails
25 def test_generated_links_in_emails
26 ActionMailer::Base.deliveries.clear
26 ActionMailer::Base.deliveries.clear
@@ -296,4 +296,18 class MailerTest < ActiveSupport::TestCase
296 assert_not_nil mail
296 assert_not_nil mail
297 mail
297 mail
298 end
298 end
299
300 def test_mailer_should_not_change_locale
301 Setting.default_language = 'en'
302 # Set current language to italian
303 set_language_if_valid 'it'
304 # Send an email to a french user
305 user = User.find(1)
306 user.language = 'fr'
307 Mailer.deliver_account_activated(user)
308 mail = ActionMailer::Base.deliveries.last
309 assert mail.body.include?('Votre compte')
310
311 assert_equal :it, current_language
312 end
299 end
313 end
General Comments 0
You need to be logged in to leave comments. Login now