diff options
Diffstat (limited to 'api/user.go')
-rw-r--r-- | api/user.go | 51 |
1 files changed, 21 insertions, 30 deletions
diff --git a/api/user.go b/api/user.go index 9c24609ce..2238aca8b 100644 --- a/api/user.go +++ b/api/user.go @@ -192,6 +192,7 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) { } +// Check that a user's email domain matches a list of space-delimited domains as a string. func CheckUserDomain(user *model.User, domains string) bool { if len(domains) == 0 { return true @@ -358,8 +359,7 @@ func CreateOAuthUser(c *Context, w http.ResponseWriter, r *http.Request, service func sendWelcomeEmail(c *Context, userId string, email string, siteURL string, verified bool) { rawUrl, _ := url.Parse(siteURL) - subjectPage := utils.NewHTMLTemplate("welcome_subject", c.Locale) - subjectPage.Props["Subject"] = c.T("api.templates.welcome_subject", map[string]interface{}{"ServerURL": rawUrl.Host}) + subject := c.T("api.templates.welcome_subject", map[string]interface{}{"ServerURL": rawUrl.Host}) bodyPage := utils.NewHTMLTemplate("welcome_body", c.Locale) bodyPage.Props["SiteURL"] = siteURL @@ -380,7 +380,7 @@ func sendWelcomeEmail(c *Context, userId string, email string, siteURL string, v bodyPage.Props["VerifyUrl"] = link } - if err := utils.SendMail(email, subjectPage.Render(), bodyPage.Render()); err != nil { + if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { l4g.Error(utils.T("api.user.send_welcome_email_and_forget.failed.error"), err) } } @@ -427,8 +427,7 @@ func SendVerifyEmail(c *Context, userId, userEmail, siteURL string) { url, _ := url.Parse(siteURL) - subjectPage := utils.NewHTMLTemplate("verify_subject", c.Locale) - subjectPage.Props["Subject"] = c.T("api.templates.verify_subject", + subject := c.T("api.templates.verify_subject", map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"]}) bodyPage := utils.NewHTMLTemplate("verify_body", c.Locale) @@ -438,7 +437,7 @@ func SendVerifyEmail(c *Context, userId, userEmail, siteURL string) { bodyPage.Props["VerifyUrl"] = link bodyPage.Props["Button"] = c.T("api.templates.verify_body.button") - if err := utils.SendMail(userEmail, subjectPage.Render(), bodyPage.Render()); err != nil { + if err := utils.SendMail(userEmail, subject, bodyPage.Render()); err != nil { l4g.Error(utils.T("api.user.send_verify_email_and_forget.failed.error"), err) } } @@ -1734,8 +1733,7 @@ func sendPasswordReset(c *Context, w http.ResponseWriter, r *http.Request) { link := fmt.Sprintf("%s/reset_password_complete?code=%s", c.GetSiteURL(), url.QueryEscape(recovery.Code)) - subjectPage := utils.NewHTMLTemplate("reset_subject", c.Locale) - subjectPage.Props["Subject"] = c.T("api.templates.reset_subject") + subject := c.T("api.templates.reset_subject") bodyPage := utils.NewHTMLTemplate("reset_body", c.Locale) bodyPage.Props["SiteURL"] = c.GetSiteURL() @@ -1744,7 +1742,7 @@ func sendPasswordReset(c *Context, w http.ResponseWriter, r *http.Request) { bodyPage.Props["ResetUrl"] = link bodyPage.Props["Button"] = c.T("api.templates.reset_body.button") - if err := utils.SendMail(email, subjectPage.Render(), bodyPage.Render()); err != nil { + if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { c.Err = model.NewLocAppError("sendPasswordReset", "api.user.send_password_reset.send.app_error", nil, "err="+err.Message) return } @@ -1830,8 +1828,7 @@ func ResetPassword(c *Context, userId, newPassword string) *model.AppError { } func sendPasswordChangeEmail(c *Context, email, siteURL, method string) { - subjectPage := utils.NewHTMLTemplate("password_change_subject", c.Locale) - subjectPage.Props["Subject"] = c.T("api.templates.password_change_subject", + subject := c.T("api.templates.password_change_subject", map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName, "SiteName": utils.Cfg.TeamSettings.SiteName}) bodyPage := utils.NewHTMLTemplate("password_change_body", c.Locale) @@ -1840,16 +1837,14 @@ func sendPasswordChangeEmail(c *Context, email, siteURL, method string) { bodyPage.Html["Info"] = template.HTML(c.T("api.templates.password_change_body.info", map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName, "TeamURL": siteURL, "Method": method})) - if err := utils.SendMail(email, subjectPage.Render(), bodyPage.Render()); err != nil { + if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { l4g.Error(utils.T("api.user.send_password_change_email_and_forget.error"), err) } } func sendEmailChangeEmail(c *Context, oldEmail, newEmail, siteURL string) { - subjectPage := utils.NewHTMLTemplate("email_change_subject", c.Locale) - subjectPage.Props["Subject"] = c.T("api.templates.email_change_subject", - map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName}) - subjectPage.Props["SiteName"] = utils.Cfg.TeamSettings.SiteName + subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, c.T("api.templates.email_change_subject", + map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName})) bodyPage := utils.NewHTMLTemplate("email_change_body", c.Locale) bodyPage.Props["SiteURL"] = siteURL @@ -1857,7 +1852,7 @@ func sendEmailChangeEmail(c *Context, oldEmail, newEmail, siteURL string) { bodyPage.Html["Info"] = template.HTML(c.T("api.templates.email_change_body.info", map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName, "NewEmail": newEmail})) - if err := utils.SendMail(oldEmail, subjectPage.Render(), bodyPage.Render()); err != nil { + if err := utils.SendMail(oldEmail, subject, bodyPage.Render()); err != nil { l4g.Error(utils.T("api.user.send_email_change_email_and_forget.error"), err) } } @@ -1865,10 +1860,8 @@ func sendEmailChangeEmail(c *Context, oldEmail, newEmail, siteURL string) { func SendEmailChangeVerifyEmail(c *Context, userId, newUserEmail, siteURL string) { link := fmt.Sprintf("%s/do_verify_email?uid=%s&hid=%s&email=%s", siteURL, userId, model.HashPassword(userId+utils.Cfg.EmailSettings.InviteSalt), url.QueryEscape(newUserEmail)) - subjectPage := utils.NewHTMLTemplate("email_change_verify_subject", c.Locale) - subjectPage.Props["Subject"] = c.T("api.templates.email_change_verify_subject", - map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName}) - subjectPage.Props["SiteName"] = utils.Cfg.TeamSettings.SiteName + subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, c.T("api.templates.email_change_verify_subject", + map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName})) bodyPage := utils.NewHTMLTemplate("email_change_verify_body", c.Locale) bodyPage.Props["SiteURL"] = siteURL @@ -1878,16 +1871,14 @@ func SendEmailChangeVerifyEmail(c *Context, userId, newUserEmail, siteURL string bodyPage.Props["VerifyUrl"] = link bodyPage.Props["VerifyButton"] = c.T("api.templates.email_change_verify_body.button") - if err := utils.SendMail(newUserEmail, subjectPage.Render(), bodyPage.Render()); err != nil { + if err := utils.SendMail(newUserEmail, subject, bodyPage.Render()); err != nil { l4g.Error(utils.T("api.user.send_email_change_verify_email_and_forget.error"), err) } } func sendEmailChangeUsername(c *Context, oldUsername, newUsername, email, siteURL string) { - subjectPage := utils.NewHTMLTemplate("username_change_subject", c.Locale) - subjectPage.Props["Subject"] = c.T("api.templates.username_change_subject", - map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName}) - subjectPage.Props["SiteName"] = utils.Cfg.TeamSettings.SiteName + subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, c.T("api.templates.username_change_subject", + map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName})) bodyPage := utils.NewHTMLTemplate("email_change_body", c.Locale) bodyPage.Props["SiteURL"] = siteURL @@ -1895,7 +1886,7 @@ func sendEmailChangeUsername(c *Context, oldUsername, newUsername, email, siteUR bodyPage.Html["Info"] = template.HTML(c.T("api.templates.username_change_body.info", map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName, "NewUsername": newUsername})) - if err := utils.SendMail(email, subjectPage.Render(), bodyPage.Render()); err != nil { + if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { l4g.Error(utils.T("api.user.send_email_change_username_and_forget.error"), err) } @@ -1967,6 +1958,7 @@ func updateUserNotify(c *Context, w http.ResponseWriter, r *http.Request) { } } +// Check if the username is already used by another user. Return false if the username is invalid. func IsUsernameTaken(name string) bool { if !model.IsValidUsername(name) { @@ -2239,8 +2231,7 @@ func ldapToEmail(c *Context, w http.ResponseWriter, r *http.Request) { } func sendSignInChangeEmail(c *Context, email, siteURL, method string) { - subjectPage := utils.NewHTMLTemplate("signin_change_subject", c.Locale) - subjectPage.Props["Subject"] = c.T("api.templates.singin_change_email.subject", + subject := c.T("api.templates.singin_change_email.subject", map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"]}) bodyPage := utils.NewHTMLTemplate("signin_change_body", c.Locale) @@ -2249,7 +2240,7 @@ func sendSignInChangeEmail(c *Context, email, siteURL, method string) { bodyPage.Html["Info"] = template.HTML(c.T("api.templates.singin_change_email.body.info", map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"], "Method": method})) - if err := utils.SendMail(email, subjectPage.Render(), bodyPage.Render()); err != nil { + if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { l4g.Error(utils.T("api.user.send_sign_in_change_email_and_forget.error"), err) } } |