summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2018-01-07 22:05:47 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2018-01-07 22:05:47 +0000
commitc3da53217ce0d6c575223a5505b93a7e85d05e29 (patch)
treeb117ecd1a9e9f2b61ee3caf447bb483b32d58197
parent19fdcd7a1faafb8ed8244ec7b147fd572748a984 (diff)
Merged r17150 to 3.4-stable (#26699).
git-svn-id: http://svn.redmine.org/redmine/branches/3.4-stable@17151 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/helpers/application_helper.rb8
-rw-r--r--public/images/anonymous.pngbin0 -> 1072 bytes
-rw-r--r--test/unit/helpers/application_helper_test.rb7
3 files changed, 12 insertions, 3 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index efe8882b9..c5d4c76a7 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -1421,7 +1421,13 @@ module ApplicationHelper
elsif user.to_s =~ %r{<(.+?)>}
email = $1
end
- return gravatar(email.to_s.downcase, options) unless email.blank? rescue nil
+ if email.present?
+ gravatar(email.to_s.downcase, options) rescue nil
+ else
+ image_tag 'anonymous.png',
+ GravatarHelper::DEFAULT_OPTIONS
+ .except(:default, :rating, :ssl).merge(options)
+ end
else
''
end
diff --git a/public/images/anonymous.png b/public/images/anonymous.png
new file mode 100644
index 000000000..5f00a8362
--- /dev/null
+++ b/public/images/anonymous.png
Binary files differ
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index 3bb018be1..941ba7ef0 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -1328,6 +1328,7 @@ 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 <jsmith@somenet.foo>').include?(Digest::MD5.hexdigest('jsmith@somenet.foo'))
@@ -1339,8 +1340,10 @@ RAW
# The default class of the img tag should be gravatar
assert avatar('jsmith <jsmith@somenet.foo>').include?('class="gravatar"')
assert !avatar('jsmith <jsmith@somenet.foo>', :class => 'picture').include?('class="gravatar"')
- assert_nil avatar('jsmith')
- assert_nil avatar(nil)
+ assert_match tag_for_anonymous_re, avatar('jsmith')
+ assert_match tag_for_anonymous_re, avatar(nil)
+ # Avatar for anonymous user
+ assert_match tag_for_anonymous_re, avatar(User.anonymous)
end
end