@@ -272,6 +272,7 class Mailer < ActionMailer::Base | |||
|
272 | 272 | # Overrides default deliver! method to prevent from sending an email |
|
273 | 273 | # with no recipient, cc or bcc |
|
274 | 274 | def deliver!(mail = @mail) |
|
275 | set_language_if_valid @initial_language | |
|
275 | 276 | return false if (recipients.nil? || recipients.empty?) && |
|
276 | 277 | (cc.nil? || cc.empty?) && |
|
277 | 278 | (bcc.nil? || bcc.empty?) |
@@ -313,6 +314,7 class Mailer < ActionMailer::Base | |||
|
313 | 314 | private |
|
314 | 315 | def initialize_defaults(method_name) |
|
315 | 316 | super |
|
317 | @initial_language = current_language | |
|
316 | 318 | set_language_if_valid Setting.default_language |
|
317 | 319 | from Setting.mail_from |
|
318 | 320 |
@@ -20,7 +20,7 require File.dirname(__FILE__) + '/../test_helper' | |||
|
20 | 20 | class MailerTest < ActiveSupport::TestCase |
|
21 | 21 | include Redmine::I18n |
|
22 | 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 | 25 | def test_generated_links_in_emails |
|
26 | 26 | ActionMailer::Base.deliveries.clear |
@@ -296,4 +296,18 class MailerTest < ActiveSupport::TestCase | |||
|
296 | 296 | assert_not_nil mail |
|
297 | 297 | |
|
298 | 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 | 313 | end |
General Comments 0
You need to be logged in to leave comments.
Login now