@@ -28,6 +28,7 class MailHandler < ActionMailer::Base | |||
|
28 | 28 | @@handler_options = options.dup |
|
29 | 29 | |
|
30 | 30 | @@handler_options[:issue] ||= {} |
|
31 | @@handler_options[:issue].symbolize_keys! | |
|
31 | 32 | |
|
32 | 33 | if @@handler_options[:allow_override].is_a?(String) |
|
33 | 34 | @@handler_options[:allow_override] = @@handler_options[:allow_override].split(',').collect(&:strip) |
@@ -333,6 +334,13 class MailHandler < ActionMailer::Base | |||
|
333 | 334 | # * parse the email To field |
|
334 | 335 | # * specific project (eg. Setting.mail_handler_target_project) |
|
335 | 336 | target = Project.find_by_identifier(get_keyword(:project)) |
|
337 | if target.nil? | |
|
338 | # Invalid project keyword, use the project specified as the default one | |
|
339 | default_project = @@handler_options[:issue][:project] | |
|
340 | if default_project.present? | |
|
341 | target = Project.find_by_identifier(default_project) | |
|
342 | end | |
|
343 | end | |
|
336 | 344 | raise MissingInformation.new('Unable to determine target project') if target.nil? |
|
337 | 345 | target |
|
338 | 346 | end |
@@ -370,6 +370,15 class MailHandlerTest < ActiveSupport::TestCase | |||
|
370 | 370 | assert issue.description.include?('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.') |
|
371 | 371 | end |
|
372 | 372 | |
|
373 | def test_add_issue_with_invalid_project_should_be_assigned_to_default_project | |
|
374 | issue = submit_email('ticket_on_given_project.eml', :issue => {:project => 'ecookbook'}, :allow_override => 'project') do |email| | |
|
375 | email.gsub!(/^Project:.+$/, 'Project: invalid') | |
|
376 | end | |
|
377 | assert issue.is_a?(Issue) | |
|
378 | assert !issue.new_record? | |
|
379 | assert_equal 'ecookbook', issue.project.identifier | |
|
380 | end | |
|
381 | ||
|
373 | 382 | def test_add_issue_with_localized_attributes |
|
374 | 383 | User.find_by_mail('jsmith@somenet.foo').update_attribute 'language', 'fr' |
|
375 | 384 | issue = submit_email( |
General Comments 0
You need to be logged in to leave comments.
Login now