From ae3cb747bbfa8a5105c5f497af0de74ac3cca3c3 Mon Sep 17 00:00:00 2001 From: Marius Balteanu Date: Tue, 15 Jul 2025 05:20:23 +0000 Subject: [PATCH] Adds method @initials@ to @Principal@ and return @nil@ by default (#42623). git-svn-id: https://svn.redmine.org/redmine/trunk@23888 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/avatars_helper.rb | 2 +- app/models/principal.rb | 5 +++++ test/unit/principal_test.rb | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) 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