From 9e05f69fdec53bbea0dce0877a9a7b2a3184137b Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 7 Apr 2018 07:25:27 +0000 Subject: [PATCH] Anonymous icon is wrongly displayed when assignee is a group (#28208). Patch by Go MAEDA. git-svn-id: http://svn.redmine.org/redmine/trunk@17263 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/application_helper.rb | 4 +++- test/helpers/application_helper_test.rb | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 9da044c04..00992a5bb 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1407,10 +1407,12 @@ module ApplicationHelper end if email.present? gravatar(email.to_s.downcase, options) rescue nil - else + elsif user.is_a?(AnonymousUser) image_tag 'anonymous.png', GravatarHelper::DEFAULT_OPTIONS .except(:default, :rating, :ssl).merge(options) + else + nil end else '' diff --git a/test/helpers/application_helper_test.rb b/test/helpers/application_helper_test.rb index 81b3f7859..d8e468741 100644 --- a/test/helpers/application_helper_test.rb +++ b/test/helpers/application_helper_test.rb @@ -1287,7 +1287,6 @@ RAW end def test_avatar_enabled - tag_for_anonymous_re = %r{src="/images/anonymous.png(\?\d+)?"} with_settings :gravatar_enabled => '1' do assert avatar(User.find_by_mail('jsmith@somenet.foo')).include?(Digest::MD5.hexdigest('jsmith@somenet.foo')) assert avatar('jsmith ').include?(Digest::MD5.hexdigest('jsmith@somenet.foo')) @@ -1299,10 +1298,12 @@ RAW # The default class of the img tag should be gravatar assert avatar('jsmith ').include?('class="gravatar"') assert !avatar('jsmith ', :class => 'picture').include?('class="gravatar"') - assert_match tag_for_anonymous_re, avatar('jsmith') - assert_match tag_for_anonymous_re, avatar(nil) + assert_nil avatar('jsmith') + assert_nil avatar(nil) # Avatar for anonymous user - assert_match tag_for_anonymous_re, avatar(User.anonymous) + assert_match %r{src="/images/anonymous.png(\?\d+)?"}, avatar(User.anonymous) + # No avatar for groups + assert_nil avatar(Group.first) assert avatar(User.anonymous, :size => 24).include?('width="24" height="24"') end end -- 2.39.5