diff --git a/app/helpers/avatars_helper.rb b/app/helpers/avatars_helper.rb index 88a571b62..cd9c1d66e 100644 --- a/app/helpers/avatars_helper.rb +++ b/app/helpers/avatars_helper.rb @@ -44,7 +44,7 @@ module AvatarsHelper if user.respond_to?(:mail) email = user.mail options[:title] = user.name unless options[:title] - options[:initials] = user.initials if options[:default] == "initials" + options[:initials] = user.initials if options[:default] == "initials" && user.initials.present? elsif user.to_s =~ %r{<(.+?)>} email = $1 end diff --git a/app/models/principal.rb b/app/models/principal.rb index 86c4edb84..0a6c32ba2 100644 --- a/app/models/principal.rb +++ b/app/models/principal.rb @@ -130,6 +130,11 @@ class Principal < ApplicationRecord to_s end + # Returns nil by default, subclasses should implement this method + def initials(formatter = nil) + nil + end + def mail=(*args) nil end diff --git a/test/unit/principal_test.rb b/test/unit/principal_test.rb index 9eef5bbf3..61f775014 100644 --- a/test/unit/principal_test.rb +++ b/test/unit/principal_test.rb @@ -166,4 +166,8 @@ class PrincipalTest < ActiveSupport::TestCase r = Principal.like('vi_ci') assert_include user, r end + + def test_initials_should_return_nil + assert_nil Group.first.initials + end end