mirror of
https://github.com/meineerde/redmine.git
synced 2026-01-31 11:37:14 +00:00
X-Redmine-Issue-Assignee email header field is empty when the assignee of an issue is a group (#35017).
Patch by Akihiro MATOBA. git-svn-id: http://svn.redmine.org/redmine/trunk@21005 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
2115569e83
commit
97c2607da4
@ -74,8 +74,8 @@ class Mailer < ActionMailer::Base
|
||||
redmine_headers 'Project' => issue.project.identifier,
|
||||
'Issue-Tracker' => issue.tracker.name,
|
||||
'Issue-Id' => issue.id,
|
||||
'Issue-Author' => issue.author.login
|
||||
redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to
|
||||
'Issue-Author' => issue.author.login,
|
||||
'Issue-Assignee' => assignee_for_header(issue)
|
||||
message_id issue
|
||||
references issue
|
||||
@author = issue.author
|
||||
@ -106,8 +106,8 @@ class Mailer < ActionMailer::Base
|
||||
redmine_headers 'Project' => issue.project.identifier,
|
||||
'Issue-Tracker' => issue.tracker.name,
|
||||
'Issue-Id' => issue.id,
|
||||
'Issue-Author' => issue.author.login
|
||||
redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to
|
||||
'Issue-Author' => issue.author.login,
|
||||
'Issue-Assignee' => assignee_for_header(issue)
|
||||
message_id journal
|
||||
references issue
|
||||
@author = journal.user
|
||||
@ -760,7 +760,16 @@ class Mailer < ActionMailer::Base
|
||||
|
||||
# Appends a Redmine header field (name is prepended with 'X-Redmine-')
|
||||
def redmine_headers(h)
|
||||
h.each {|k, v| headers["X-Redmine-#{k}"] = v.to_s}
|
||||
h.compact.each {|k, v| headers["X-Redmine-#{k}"] = v.to_s}
|
||||
end
|
||||
|
||||
def assignee_for_header(issue)
|
||||
case issue.assigned_to
|
||||
when User
|
||||
issue.assigned_to.login
|
||||
when Group
|
||||
"Group (#{issue.assigned_to.name})"
|
||||
end
|
||||
end
|
||||
|
||||
# Singleton class method is public
|
||||
|
||||
@ -219,6 +219,33 @@ class MailerTest < ActiveSupport::TestCase
|
||||
assert_equal issue.author.login, mail.header['X-Redmine-Sender'].to_s
|
||||
end
|
||||
|
||||
def test_email_headers_should_not_include_assignee_when_not_assigned
|
||||
issue = Issue.find(6)
|
||||
issue.init_journal(User.current)
|
||||
issue.update(:status_id => 4)
|
||||
issue.update(:assigned_to_id => nil)
|
||||
mail = last_email
|
||||
assert_not mail.header['X-Redmine-Issue-Assignee']
|
||||
end
|
||||
|
||||
def test_email_headers_should_include_assignee_when_assigned
|
||||
issue = Issue.find(6)
|
||||
issue.init_journal(User.current)
|
||||
issue.update(:assigned_to_id => 2)
|
||||
mail = last_email
|
||||
assert_equal 'jsmith', mail.header['X-Redmine-Issue-Assignee'].to_s
|
||||
end
|
||||
|
||||
def test_email_headers_should_include_assignee_if_assigned_to_group
|
||||
issue = Issue.find(6)
|
||||
with_settings :issue_group_assignment => 1 do
|
||||
issue.init_journal(User.current)
|
||||
issue.update(:assigned_to_id => 10)
|
||||
end
|
||||
mail = last_email
|
||||
assert_equal 'Group (A Team)', mail.header['X-Redmine-Issue-Assignee'].to_s
|
||||
end
|
||||
|
||||
def test_plain_text_mail
|
||||
Setting.plain_text_mail = 1
|
||||
journal = Journal.find(2)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user