Add username template variables to Welcome User email template (#20352)

* Add username and name_or_username variables to SystemMessage defaults

* Allow username and name variables on welcome_user email template overrides

* Satisfy linting

* Add test
This commit is contained in:
Leonardo Mosquera
2023-02-17 18:38:21 -03:00
committed by GitHub
parent 9519747a01
commit 6fa9a8990d
3 changed files with 16 additions and 0 deletions

View File

@ -35,6 +35,7 @@ class TranslationOverride < ActiveRecord::Base
optional_cat optional_cat
optional_tags optional_tags
], ],
%w[system_messages.welcome_user] => %w[username name name_or_username],
} }
include HasSanitizableFields include HasSanitizableFields

View File

@ -88,6 +88,8 @@ class SystemMessage
{ {
site_name: SiteSetting.title, site_name: SiteSetting.title,
username: @recipient.username, username: @recipient.username,
name: @recipient.name,
name_or_username: @recipient.name.presence || @recipient.username,
user_preferences_url: "#{@recipient.full_url}/preferences", user_preferences_url: "#{@recipient.full_url}/preferences",
new_user_tips: new_user_tips:
I18n.with_locale(@recipient.effective_locale) do I18n.with_locale(@recipient.effective_locale) do

View File

@ -84,6 +84,19 @@ RSpec.describe TranslationOverride do
end end
end end
describe "with valid custom interpolation keys" do
it "works" do
translation_override =
TranslationOverride.upsert!(
I18n.locale,
"system_messages.welcome_user.text_body_template",
"Hello %{name} %{username} %{name_or_username} and welcome to %{site_name}!",
)
expect(translation_override.errors).to be_empty
end
end
describe "pluralized keys" do describe "pluralized keys" do
describe "valid keys" do describe "valid keys" do
it "converts zero to other" do it "converts zero to other" do