Feature #10378 ยป 10378-suppress-empty-fields.patch
| app/helpers/issues_helper.rb | ||
|---|---|---|
| 82 | 82 |
s << '<div>' |
| 83 | 83 |
subject = h(issue.subject) |
| 84 | 84 |
if issue.is_private? |
| 85 |
subject = subject + ' ' + content_tag('span', l(:field_is_private), :class => 'private')
|
|
| 85 |
subject = subject + ' ' + content_tag('span', l(:field_is_private), :class => 'private')
|
|
| 86 | 86 |
end |
| 87 | 87 |
s << content_tag('h3', subject)
|
| 88 | 88 |
s << '</div>' * (ancestors.size + 1) |
| ... | ... | |
| 309 | 309 |
items = [] |
| 310 | 310 |
%w(author status priority assigned_to category fixed_version).each do |attribute| |
| 311 | 311 |
unless issue.disabled_core_fields.include?(attribute+"_id") |
| 312 |
attr_value = "#{issue.send attribute}"
|
|
| 313 |
next if attr_value.blank? |
|
| 312 | 314 |
if html |
| 313 |
items << content_tag('strong', "#{l("field_#{attribute}")}: ") + (issue.send attribute)
|
|
| 315 |
items << content_tag('strong', "#{l("field_#{attribute}")}: ") + attr_value
|
|
| 314 | 316 |
else |
| 315 |
items << "#{l("field_#{attribute}")}: #{issue.send attribute}"
|
|
| 317 |
items << "#{l("field_#{attribute}")}: #{attr_value}"
|
|
| 316 | 318 |
end |
| 317 | 319 |
end |
| 318 | 320 |
end |
| 319 | 321 |
issue.visible_custom_field_values(user).each do |value| |
| 322 |
cf_value = show_value(value, false) |
|
| 323 |
next if cf_value.blank? |
|
| 320 | 324 |
if html |
| 321 |
items << content_tag('strong', "#{value.custom_field.name}: ") + show_value(value, false)
|
|
| 325 |
items << content_tag('strong', "#{value.custom_field.name}: ") + cf_value
|
|
| 322 | 326 |
else |
| 323 |
items << "#{value.custom_field.name}: #{show_value(value, false)}"
|
|
| 327 |
items << "#{value.custom_field.name}: #{cf_value}"
|
|
| 324 | 328 |
end |
| 325 | 329 |
end |
| 326 | 330 |
items |
| test/unit/mailer_test.rb | ||
|---|---|---|
| 450 | 450 |
end |
| 451 | 451 |
end |
| 452 | 452 | |
| 453 |
def test_issue_should_send_email_notification_with_suppress_empty_fields |
|
| 454 |
ActionMailer::Base.deliveries.clear |
|
| 455 |
with_settings :notified_events => %w(issue_added) do |
|
| 456 |
cf = IssueCustomField.generate! |
|
| 457 |
issue = Issue.generate! |
|
| 458 | ||
| 459 |
assert_not_equal 0, ActionMailer::Base.deliveries.size |
|
| 460 | ||
| 461 |
mail = last_email |
|
| 462 |
assert_mail_body_match /^\* Author: /, mail |
|
| 463 |
assert_mail_body_match /^\* Status: /, mail |
|
| 464 |
assert_mail_body_match /^\* Priority: /, mail |
|
| 465 | ||
| 466 |
assert_mail_body_no_match /^\* Assignee: /, mail |
|
| 467 |
assert_mail_body_no_match /^\* Category: /, mail |
|
| 468 |
assert_mail_body_no_match /^\* Target version: /, mail |
|
| 469 |
assert_mail_body_no_match /^\* #{cf.name}: /, mail
|
|
| 470 |
end |
|
| 471 |
end |
|
| 472 | ||
| 453 | 473 |
def test_version_file_added |
| 454 | 474 |
attachements = [ Attachment.find_by_container_type('Version') ]
|
| 455 | 475 |
assert Mailer.deliver_attachments_added(attachements) |