From 36bf4722a2d3281df48c0686e1606b2736023b79 Mon Sep 17 00:00:00 2001 From: forgejo-backport-action Date: Tue, 14 Apr 2026 07:22:44 +0200 Subject: [PATCH] [v15.0/forgejo] i18n(mailer): Fix special usage of .Locale in admin_new_user (#12112) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Backport:** https://codeberg.org/forgejo/forgejo/pulls/12009 This PR is in reaction to https://codeberg.org/forgejo/forgejo/issues/1711 . Co-authored-by: Έλλεν Εμίλια Άννα Zscheile Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/12112 Reviewed-by: Gusted Co-authored-by: forgejo-backport-action Co-committed-by: forgejo-backport-action --- build/lint-locale-usage/handle-tmpl.go | 6 +++++- services/mailer/mail_admin_new_user.go | 2 +- templates/mail/notify/admin_new_user.tmpl | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build/lint-locale-usage/handle-tmpl.go b/build/lint-locale-usage/handle-tmpl.go index 8d03291205..7fbda8ffd5 100644 --- a/build/lint-locale-usage/handle-tmpl.go +++ b/build/lint-locale-usage/handle-tmpl.go @@ -60,9 +60,13 @@ func (handler Handler) handleTemplateNode(fset *token.FileSet, node tmplParser.N case tmplParser.NodeField: nodeField := nodeCommand.Args[0].(*tmplParser.FieldNode) - if len(nodeField.Ident) != 2 || !(nodeField.Ident[0] == "locale" || nodeField.Ident[0] == "Locale") { + if len(nodeField.Ident) != 2 || nodeField.Ident[0] != "locale" { return } + resolvedPos := fset.PositionFor(token.Pos(nodeCommand.Pos), false) + if !strings.Contains(resolvedPos.Filename, "templates/mail/") { + handler.OnWarning(fset, token.Pos(nodeCommand.Pos), "encountered unexpected .locale usage") + } funcname = nodeField.Ident[1] case tmplParser.NodeVariable: diff --git a/services/mailer/mail_admin_new_user.go b/services/mailer/mail_admin_new_user.go index ffb03197b7..9b94950235 100644 --- a/services/mailer/mail_admin_new_user.go +++ b/services/mailer/mail_admin_new_user.go @@ -57,7 +57,7 @@ func mailNewUser(_ context.Context, u *user_model.User, lang string, tos []strin "Subject": subject, "Body": body, "Language": locale.Language(), - "Locale": locale, + "locale": locale, "SanitizeHTML": templates.SanitizeHTML, } diff --git a/templates/mail/notify/admin_new_user.tmpl b/templates/mail/notify/admin_new_user.tmpl index 655c7ce5c5..121fa9aa17 100644 --- a/templates/mail/notify/admin_new_user.tmpl +++ b/templates/mail/notify/admin_new_user.tmpl @@ -12,8 +12,8 @@
    -

    {{.Locale.Tr "mail.admin.new_user.user_info"}}: @{{.NewUser.Name}}

    -
  • {{.Locale.Tr "admin.users.created"}}: {{DateTime "full" .NewUser.CreatedUnix}}
  • +

    {{.locale.Tr "mail.admin.new_user.user_info"}}: @{{.NewUser.Name}}

    +
  • {{.locale.Tr "admin.users.created"}}: {{DateTime "full" .NewUser.CreatedUnix}}

{{.Body | SanitizeHTML}}