Feature #30822 » feature-30822.patch
| app/helpers/application_helper.rb | ||
|---|---|---|
| 1482 | 1482 |
def avatar(user, options = { })
|
| 1483 | 1483 |
if Setting.gravatar_enabled? |
| 1484 | 1484 |
options.merge!(:default => Setting.gravatar_default) |
| 1485 |
# style for HTML mail |
|
| 1486 |
if options.delete(:html_mail) |
|
| 1487 |
options[:style] = "#{options[:style]}width:14px;height:14px;border-radius:20%;vertical-align:middle;"
|
|
| 1488 |
end |
|
| 1485 | 1489 |
email = nil |
| 1486 | 1490 |
if user.respond_to?(:mail) |
| 1487 | 1491 |
email = user.mail |
| app/helpers/issues_helper.rb | ||
|---|---|---|
| 320 | 320 |
%w(author status priority assigned_to category fixed_version start_date due_date).each do |attribute| |
| 321 | 321 |
if issue.disabled_core_fields.grep(/^#{attribute}(_id)?$/).empty?
|
| 322 | 322 |
if html |
| 323 |
items << content_tag('strong', "#{l("field_#{attribute}")}: ") + (issue.send attribute)
|
|
| 323 |
value = issue.send(attribute) |
|
| 324 |
if %w(author assigned_to).include?(attribute) && value.is_a?(User) |
|
| 325 |
value = "#{avatar(value, :title => l("field_#{attribute}"), :html_mail => true)}#{value}".html_safe
|
|
| 326 |
end |
|
| 327 |
items << content_tag('strong', "#{l("field_#{attribute}")}: ") + value
|
|
| 324 | 328 |
else |
| 325 | 329 |
items << "#{l("field_#{attribute}")}: #{issue.send attribute}"
|
| 326 | 330 |
end |
| app/views/mailer/issue_add.html.erb | ||
|---|---|---|
| 1 |
<%= l(:text_issue_added, :id => link_to("##{@issue.id}", @issue_url), :author => h(@issue.author)).html_safe %>
|
|
| 1 |
<%= l(:text_issue_added, |
|
| 2 |
:id => link_to("##{@issue.id}", @issue_url),
|
|
| 3 |
:author => "#{avatar(@issue.author, :html_mail => true)}#{h(@issue.author)}").html_safe %>
|
|
| 2 | 4 |
<hr /> |
| 3 | 5 |
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :user => @user, :issue_url => @issue_url } %>
|
| app/views/mailer/issue_edit.html.erb | ||
|---|---|---|
| 1 | 1 |
<% if @journal.private_notes? %> |
| 2 | 2 |
(<%= l(:field_private_notes) %>) |
| 3 | 3 |
<% end %> |
| 4 |
<%= l(:text_issue_updated, :id => link_to("##{@issue.id}", @issue_url), :author => h(@journal.user)).html_safe %>
|
|
| 4 |
<%= l(:text_issue_updated, |
|
| 5 |
:id => link_to("##{@issue.id}", @issue_url),
|
|
| 6 |
:author => "#{avatar(@journal.user, :html_mail => true)}#{h(@journal.user)}").html_safe %>
|
|
| 5 | 7 |
<hr /> |
| 6 | 8 | |
| 7 | 9 |
<ul class="journal details"> |
| test/helpers/application_helper_test.rb | ||
|---|---|---|
| 1505 | 1505 |
end |
| 1506 | 1506 |
end |
| 1507 | 1507 | |
| 1508 |
def test_avatar_with_html_mail_option |
|
| 1509 |
with_settings :gravatar_enabled => '1' do |
|
| 1510 |
avatar = avatar('jsmith <jsmith@somenet.foo>', :html_mail => true)
|
|
| 1511 |
assert_include 'style="width:14px;height:14px;border-radius:20%;vertical-align:middle;"', avatar |
|
| 1512 |
assert_not_include 'html_mail', avatar |
|
| 1513 |
end |
|
| 1514 |
end |
|
| 1515 | ||
| 1508 | 1516 |
def test_avatar_disabled |
| 1509 | 1517 |
with_settings :gravatar_enabled => '0' do |
| 1510 | 1518 |
assert_equal '', avatar(User.find_by_mail('jsmith@somenet.foo'))
|
| test/unit/mailer_test.rb | ||
|---|---|---|
| 447 | 447 |
end |
| 448 | 448 |
end |
| 449 | 449 | |
| 450 |
def test_issue_add_should_include_gravatar_if_gravatar_enabled |
|
| 451 |
with_settings :gravatar_enabled => '1' do |
|
| 452 |
issue = Issue.find(2) |
|
| 453 |
Mailer.deliver_issue_add(issue) |
|
| 454 |
gravatar_url = 'https://www.gravatar.com/avatar/' |
|
| 455 |
option = '?rating=PG&size=50&default=' |
|
| 456 |
author_gravatar_url = gravatar_url + Digest::MD5.hexdigest(issue.author.mail) + option |
|
| 457 |
assignee_gravatar_url = gravatar_url + Digest::MD5.hexdigest(issue.assigned_to.mail) + option |
|
| 458 | ||
| 459 |
assert_select_email do |
|
| 460 |
assert_select 'img[class=?]', 'gravatar', :count => 3 |
|
| 461 |
assert_select 'img[class="gravatar"][title=?][src=?]', '', author_gravatar_url, :count => 1 |
|
| 462 |
assert_select 'li img[class="gravatar"][title=?][src=?]', 'Author', author_gravatar_url, :count => 1 |
|
| 463 |
assert_select 'li img[class="gravatar"][title=?][src=?]', 'Assignee', assignee_gravatar_url, :count => 1 |
|
| 464 |
end |
|
| 465 |
end |
|
| 466 |
end |
|
| 467 | ||
| 468 |
def test_issue_add_should_include_gravatar_if_gravatar_disabled |
|
| 469 |
with_settings :gravatar_enabled => '0' do |
|
| 470 |
issue = Issue.find(2) |
|
| 471 |
Mailer.deliver_issue_add(issue) |
|
| 472 | ||
| 473 |
assert_select_email do |
|
| 474 |
assert_select 'img[class=?]', 'gravatar', :count => 0 |
|
| 475 |
end |
|
| 476 |
end |
|
| 477 |
end |
|
| 478 | ||
| 450 | 479 |
def test_issue_edit_subject_should_include_status_changes_if_setting_is_enabled |
| 451 | 480 |
with_settings :show_status_changes_in_mail_subject => 1 do |
| 452 | 481 |
issue = Issue.find(2) |
| ... | ... | |
| 534 | 563 |
end |
| 535 | 564 |
end |
| 536 | 565 | |
| 566 |
def test_issue_edit_should_include_gravatar_if_gravatar_enabled |
|
| 567 |
with_settings :gravatar_enabled => '1' do |
|
| 568 |
journal = Journal.find(3) |
|
| 569 |
Mailer.deliver_issue_edit(journal) |
|
| 570 |
gravatar_url = 'https://www.gravatar.com/avatar/' |
|
| 571 |
option = '?rating=PG&size=50&default=' |
|
| 572 |
reported_user_gravatar_url = gravatar_url + Digest::MD5.hexdigest(journal.user.mail) + option |
|
| 573 |
author_gravatar_url = gravatar_url + Digest::MD5.hexdigest(journal.issue.author.mail) + option |
|
| 574 |
assignee_gravatar_url = gravatar_url + Digest::MD5.hexdigest(journal.issue.assigned_to.mail) + option |
|
| 575 | ||
| 576 |
assert_select_email do |
|
| 577 |
assert_select 'img[class="gravatar"]', :count => 3 |
|
| 578 |
assert_select 'img[class="gravatar"][title=?][src=?]', '', reported_user_gravatar_url, :count => 1 |
|
| 579 |
assert_select 'li img[class="gravatar"][title=?][src=?]', 'Author', author_gravatar_url, :count => 1 |
|
| 580 |
assert_select 'li img[class="gravatar"][title=?][src=?]', 'Assignee', assignee_gravatar_url, :count => 1 |
|
| 581 |
end |
|
| 582 |
end |
|
| 583 |
end |
|
| 584 | ||
| 585 |
def test_issue_edit_should_include_gravatar_if_gravatar_disabled |
|
| 586 |
with_settings :gravatar_enabled => '0' do |
|
| 587 |
journal = Journal.find(3) |
|
| 588 |
Mailer.deliver_issue_edit(journal) |
|
| 589 | ||
| 590 |
assert_select_email do |
|
| 591 |
assert_select 'img[class="gravatar"]', :count => 0 |
|
| 592 |
end |
|
| 593 |
end |
|
| 594 |
end |
|
| 595 | ||
| 537 | 596 |
def test_version_file_added |
| 538 | 597 |
attachements = [ Attachment.find_by_container_type('Version') ]
|
| 539 | 598 |
assert Mailer.deliver_attachments_added(attachements) |
- « Previous
- 1
- 2
- Next »