@@ -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 |
|
297 | |||
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