]> source.dussan.org Git - gitea.git/commitdiff
remove macaron dependent on models/mail.go (#6931)
authorLunny Xiao <xiaolunwen@gmail.com>
Mon, 13 May 2019 22:53:54 +0000 (06:53 +0800)
committerLauris BH <lauris@nix.lv>
Mon, 13 May 2019 22:53:54 +0000 (01:53 +0300)
models/mail.go

index c8f67bd345b7f6586540c554ca65e298668ed2a3..b3e1e0d83302ff07543ef6de0a331595d6d26b18 100644 (file)
@@ -17,7 +17,6 @@ import (
        "code.gitea.io/gitea/modules/markup/markdown"
        "code.gitea.io/gitea/modules/setting"
        "gopkg.in/gomail.v2"
-       "gopkg.in/macaron.v1"
 )
 
 const (
@@ -45,11 +44,11 @@ func SendTestMail(email string) error {
 }
 
 // SendUserMail sends a mail to the user
-func SendUserMail(c *macaron.Context, u *User, tpl base.TplName, code, subject, info string) {
+func SendUserMail(language string, u *User, tpl base.TplName, code, subject, info string) {
        data := map[string]interface{}{
                "DisplayName":       u.DisplayName(),
-               "ActiveCodeLives":   base.MinutesToFriendly(setting.Service.ActiveCodeLives, c.Locale.Language()),
-               "ResetPwdCodeLives": base.MinutesToFriendly(setting.Service.ResetPwdCodeLives, c.Locale.Language()),
+               "ActiveCodeLives":   base.MinutesToFriendly(setting.Service.ActiveCodeLives, language),
+               "ResetPwdCodeLives": base.MinutesToFriendly(setting.Service.ResetPwdCodeLives, language),
                "Code":              code,
        }
 
@@ -66,21 +65,27 @@ func SendUserMail(c *macaron.Context, u *User, tpl base.TplName, code, subject,
        mailer.SendAsync(msg)
 }
 
+// Locale represents an interface to translation
+type Locale interface {
+       Language() string
+       Tr(string, ...interface{}) string
+}
+
 // SendActivateAccountMail sends an activation mail to the user (new user registration)
-func SendActivateAccountMail(c *macaron.Context, u *User) {
-       SendUserMail(c, u, mailAuthActivate, u.GenerateActivateCode(), c.Tr("mail.activate_account"), "activate account")
+func SendActivateAccountMail(locale Locale, u *User) {
+       SendUserMail(locale.Language(), u, mailAuthActivate, u.GenerateActivateCode(), locale.Tr("mail.activate_account"), "activate account")
 }
 
 // SendResetPasswordMail sends a password reset mail to the user
-func SendResetPasswordMail(c *macaron.Context, u *User) {
-       SendUserMail(c, u, mailAuthResetPassword, u.GenerateActivateCode(), c.Tr("mail.reset_password"), "recover account")
+func SendResetPasswordMail(locale Locale, u *User) {
+       SendUserMail(locale.Language(), u, mailAuthResetPassword, u.GenerateActivateCode(), locale.Tr("mail.reset_password"), "recover account")
 }
 
 // SendActivateEmailMail sends confirmation email to confirm new email address
-func SendActivateEmailMail(c *macaron.Context, u *User, email *EmailAddress) {
+func SendActivateEmailMail(locale Locale, u *User, email *EmailAddress) {
        data := map[string]interface{}{
                "DisplayName":     u.DisplayName(),
-               "ActiveCodeLives": base.MinutesToFriendly(setting.Service.ActiveCodeLives, c.Locale.Language()),
+               "ActiveCodeLives": base.MinutesToFriendly(setting.Service.ActiveCodeLives, locale.Language()),
                "Code":            u.GenerateEmailActivateCode(email.Email),
                "Email":           email.Email,
        }
@@ -92,14 +97,14 @@ func SendActivateEmailMail(c *macaron.Context, u *User, email *EmailAddress) {
                return
        }
 
-       msg := mailer.NewMessage([]string{email.Email}, c.Tr("mail.activate_email"), content.String())
+       msg := mailer.NewMessage([]string{email.Email}, locale.Tr("mail.activate_email"), content.String())
        msg.Info = fmt.Sprintf("UID: %d, activate email", u.ID)
 
        mailer.SendAsync(msg)
 }
 
 // SendRegisterNotifyMail triggers a notify e-mail by admin created a account.
-func SendRegisterNotifyMail(c *macaron.Context, u *User) {
+func SendRegisterNotifyMail(locale Locale, u *User) {
        data := map[string]interface{}{
                "DisplayName": u.DisplayName(),
                "Username":    u.Name,
@@ -112,7 +117,7 @@ func SendRegisterNotifyMail(c *macaron.Context, u *User) {
                return
        }
 
-       msg := mailer.NewMessage([]string{u.Email}, c.Tr("mail.register_notify"), content.String())
+       msg := mailer.NewMessage([]string{u.Email}, locale.Tr("mail.register_notify"), content.String())
        msg.Info = fmt.Sprintf("UID: %d, registration notify", u.ID)
 
        mailer.SendAsync(msg)