]> source.dussan.org Git - redmine.git/commitdiff
MailHandler: Match assignee on the full display name (#11552).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 26 Aug 2012 09:03:17 +0000 (09:03 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 26 Aug 2012 09:03:17 +0000 (09:03 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10236 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/mail_handler.rb
test/object_helpers.rb
test/unit/mail_handler_test.rb

index 01cf8d74f4dd522a8739c73d70d5a4fb857ee499..8a5925cab07d8528db3c8179e03aab5834698310 100644 (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
index 85c6d139c2706fbd4eb86e48f549efaa9815425f..42dfdecda8c9fd8caa5ce72038f23379b46f46f1 100644 (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
index 32646fcdddfa146ab17ff300046a96f85cf383ec..49b5d896f5e7e2aa6ebe98250ae0bc13ed1aa41d 100644 (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)