summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/helpers/avatars_helper.rb2
-rw-r--r--app/models/principal.rb5
-rw-r--r--test/unit/principal_test.rb4
3 files changed, 10 insertions, 1 deletions
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