From e5065cf7575ee05c040945a4b00b7fd90bf39b83 Mon Sep 17 00:00:00 2001 From: Carlos Tadeu Panato Junior Date: Wed, 1 Mar 2017 15:28:38 +0100 Subject: Make all emails with the same pattern on subject (#5198) * make all email subject standard * move SendPasswordReset to app/email.go update per review * update email subjects per review update error fix expected subject * Update email_test.go * Update en.json * fix missing quotes --- app/user.go | 61 +++++++++++++++++++++++-------------------------------------- 1 file changed, 23 insertions(+), 38 deletions(-) (limited to 'app/user.go') diff --git a/app/user.go b/app/user.go index 53e389947..d1ddceb23 100644 --- a/app/user.go +++ b/app/user.go @@ -7,7 +7,6 @@ import ( "bytes" "fmt" "hash/fnv" - "html/template" "image" "image/color" "image/draw" @@ -18,7 +17,6 @@ import ( "io/ioutil" "mime/multipart" "net/http" - "net/url" "strconv" "strings" @@ -989,42 +987,6 @@ func UpdatePasswordSendEmail(user *model.User, newPassword, method, siteURL stri return nil } -func SendPasswordReset(email string, siteURL string) (bool, *model.AppError) { - var user *model.User - var err *model.AppError - if user, err = GetUserByEmail(email); err != nil { - return false, nil - } - - if user.AuthData != nil && len(*user.AuthData) != 0 { - return false, model.NewAppError("SendPasswordReset", "api.user.send_password_reset.sso.app_error", nil, "userId="+user.Id, http.StatusBadRequest) - } - - var recovery *model.PasswordRecovery - if recovery, err = CreatePasswordRecovery(user.Id); err != nil { - return false, err - } - - T := utils.GetUserTranslations(user.Locale) - - link := fmt.Sprintf("%s/reset_password_complete?code=%s", siteURL, url.QueryEscape(recovery.Code)) - - subject := T("api.templates.reset_subject") - - bodyPage := utils.NewHTMLTemplate("reset_body", user.Locale) - bodyPage.Props["SiteURL"] = siteURL - bodyPage.Props["Title"] = T("api.templates.reset_body.title") - bodyPage.Html["Info"] = template.HTML(T("api.templates.reset_body.info")) - bodyPage.Props["ResetUrl"] = link - bodyPage.Props["Button"] = T("api.templates.reset_body.button") - - if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { - return false, model.NewLocAppError("SendPasswordReset", "api.user.send_password_reset.send.app_error", nil, "err="+err.Message) - } - - return true, nil -} - func ResetPasswordFromCode(code, newPassword, siteURL string) *model.AppError { var recovery *model.PasswordRecovery var err *model.AppError @@ -1058,6 +1020,29 @@ func ResetPasswordFromCode(code, newPassword, siteURL string) *model.AppError { return nil } +func SendPasswordReset(email string, siteURL string) (bool, *model.AppError) { + var user *model.User + var err *model.AppError + if user, err = GetUserByEmail(email); err != nil { + return false, nil + } + + if user.AuthData != nil && len(*user.AuthData) != 0 { + return false, model.NewAppError("SendPasswordReset", "api.user.send_password_reset.sso.app_error", nil, "userId="+user.Id, http.StatusBadRequest) + } + + var recovery *model.PasswordRecovery + if recovery, err = CreatePasswordRecovery(user.Id); err != nil { + return false, err + } + + if _, err := SendPasswordResetEmail(email, recovery, user.Locale, siteURL); err != nil { + return false, model.NewLocAppError("SendPasswordReset", "api.user.send_password_reset.send.app_error", nil, "err="+err.Message) + } + + return true, nil +} + func CreatePasswordRecovery(userId string) (*model.PasswordRecovery, *model.AppError) { recovery := &model.PasswordRecovery{} recovery.UserId = userId -- cgit v1.2.3-1-g7c22