Defect #35017 » 35017_v2.patch
app/models/mailer.rb | ||
---|---|---|
74 | 74 |
redmine_headers 'Project' => issue.project.identifier, |
75 | 75 |
'Issue-Tracker' => issue.tracker.name, |
76 | 76 |
'Issue-Id' => issue.id, |
77 |
'Issue-Author' => issue.author.login |
|
78 |
redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to
|
|
77 |
'Issue-Author' => issue.author.login,
|
|
78 |
'Issue-Assignee' => assignee_for_redmine_header(issue)
|
|
79 | 79 |
message_id issue |
80 | 80 |
references issue |
81 | 81 |
@author = issue.author |
... | ... | |
106 | 106 |
redmine_headers 'Project' => issue.project.identifier, |
107 | 107 |
'Issue-Tracker' => issue.tracker.name, |
108 | 108 |
'Issue-Id' => issue.id, |
109 |
'Issue-Author' => issue.author.login |
|
110 |
redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to
|
|
109 |
'Issue-Author' => issue.author.login,
|
|
110 |
'Issue-Assignee' => assignee_for_redmine_header(issue)
|
|
111 | 111 |
message_id journal |
112 | 112 |
references issue |
113 | 113 |
@author = journal.user |
... | ... | |
760 | 760 | |
761 | 761 |
# Appends a Redmine header field (name is prepended with 'X-Redmine-') |
762 | 762 |
def redmine_headers(h) |
763 |
h.each {|k, v| headers["X-Redmine-#{k}"] = v.to_s} |
|
763 |
h.compact.each {|k, v| headers["X-Redmine-#{k}"] = v.to_s} |
|
764 |
end |
|
765 | ||
766 |
def assignee_for_redmine_header(issue) |
|
767 |
case issue&.assigned_to |
|
768 |
when User |
|
769 |
issue.assigned_to.login |
|
770 |
when Group |
|
771 |
"Group (#{issue.assigned_to.name})" |
|
772 |
end |
|
764 | 773 |
end |
765 | 774 | |
766 | 775 |
# Singleton class method is public |
test/unit/mailer_test.rb | ||
---|---|---|
219 | 219 |
assert_equal issue.author.login, mail.header['X-Redmine-Sender'].to_s |
220 | 220 |
end |
221 | 221 | |
222 |
def test_email_headers_should_not_include_assignee_when_not_assigned |
|
223 |
issue = Issue.find(6) |
|
224 |
issue.init_journal(User.current) |
|
225 |
issue.update(:status_id => 4) |
|
226 |
issue.update(:assigned_to_id => nil) |
|
227 |
mail = last_email |
|
228 |
assert_not mail.header['X-Redmine-Issue-Assignee'] |
|
229 |
end |
|
230 | ||
231 |
def test_email_headers_should_include_assignee_when_assigned |
|
232 |
issue = Issue.find(6) |
|
233 |
issue.init_journal(User.current) |
|
234 |
issue.update(:assigned_to_id => 2) |
|
235 |
mail = last_email |
|
236 |
assert_equal 'jsmith', mail.header['X-Redmine-Issue-Assignee'].to_s |
|
237 |
end |
|
238 | ||
239 |
def test_email_headers_should_include_assignee_if_assigned_to_group |
|
240 |
issue = Issue.find(6) |
|
241 |
with_settings :issue_group_assignment => 1 do |
|
242 |
issue.init_journal(User.current) |
|
243 |
issue.update(:assigned_to_id => 10) |
|
244 |
end |
|
245 |
mail = last_email |
|
246 |
assert_equal 'Group (A Team)', mail.header['X-Redmine-Issue-Assignee'].to_s |
|
247 |
end |
|
248 | ||
222 | 249 |
def test_plain_text_mail |
223 | 250 |
Setting.plain_text_mail = 1 |
224 | 251 |
journal = Journal.find(2) |
- « Previous
- 1
- 2
- Next »