MailHandler: Match assignee on the full display name (#11552).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10236 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2012-08-26 09:03:17 +00:00
parent 2ed4364c8a
commit 5969df8142
3 changed files with 13 additions and 2 deletions

View File

@ -468,7 +468,7 @@ class MailHandler < ActionMailer::Base
}
end
if assignee.nil?
assignee ||= assignable.detect {|a| a.is_a?(Group) && a.name.downcase == keyword}
assignee ||= assignable.detect {|a| a.name.downcase == keyword}
end
assignee
end

View File

@ -12,7 +12,8 @@ module ObjectHelpers
user
end
def User.add_to_project(user, project, roles)
def User.add_to_project(user, project, roles=nil)
roles = Role.find(1) if roles.nil?
roles = [roles] unless roles.is_a?(Array)
Member.create!(:principal => user, :project => project, :roles => roles)
end

View File

@ -194,6 +194,16 @@ class MailHandlerTest < ActiveSupport::TestCase
assert_equal '2', issue.custom_field_value(field)
end
def test_add_issue_should_match_assignee_on_display_name
user = User.generate!(:firstname => 'Foo Bar', :lastname => 'Foo Baz')
User.add_to_project(user, Project.find(2))
issue = submit_email('ticket_on_given_project.eml') do |email|
email.sub!(/^Assigned to.*$/, 'Assigned to: Foo Bar Foo baz')
end
assert issue.is_a?(Issue)
assert_equal user, issue.assigned_to
end
def test_add_issue_with_cc
issue = submit_email('ticket_with_cc.eml', :issue => {:project => 'ecookbook'})
assert issue.is_a?(Issue)