summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-08-03 08:51:52 -0400
committerGitHub <noreply@github.com>2017-08-03 08:51:52 -0400
commit713673c8886a4822ef429823b24aa6c947bc49f4 (patch)
tree0c4bf0e600ab3c4cd3b24c05665cde0619ad92f1 /app
parent43c523e8391f454c90358951c86b107d44203b72 (diff)
downloadchat-713673c8886a4822ef429823b24aa6c947bc49f4.tar.gz
chat-713673c8886a4822ef429823b24aa6c947bc49f4.tar.bz2
chat-713673c8886a4822ef429823b24aa6c947bc49f4.zip
PLT-7194 Add email when adding user access tokens (#7087)
* Add email when adding user access tokens * Update en.json * Update en.json
Diffstat (limited to 'app')
-rw-r--r--app/email.go18
-rw-r--r--app/session.go16
2 files changed, 33 insertions, 1 deletions
diff --git a/app/email.go b/app/email.go
index cd3cb3b4f..309c58f3b 100644
--- a/app/email.go
+++ b/app/email.go
@@ -179,6 +179,24 @@ func SendPasswordChangeEmail(email, method, locale, siteURL string) *model.AppEr
return nil
}
+func SendUserAccessTokenAddedEmail(email, locale string) *model.AppError {
+ T := utils.GetUserTranslations(locale)
+
+ subject := T("api.templates.user_access_token_subject",
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"]})
+
+ bodyPage := utils.NewHTMLTemplate("password_change_body", locale)
+ bodyPage.Props["Title"] = T("api.templates.user_access_token_body.title")
+ bodyPage.Html["Info"] = template.HTML(T("api.templates.user_access_token_body.info",
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"], "SiteURL": utils.GetSiteURL()}))
+
+ if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil {
+ return model.NewLocAppError("SendUserAccessTokenAddedEmail", "api.user.send_user_access_token.error", nil, err.Error())
+ }
+
+ return nil
+}
+
func SendPasswordResetEmail(email string, token *model.Token, locale, siteURL string) (bool, *model.AppError) {
T := utils.GetUserTranslations(locale)
diff --git a/app/session.go b/app/session.go
index 07f5c6e0a..78b8ee46a 100644
--- a/app/session.go
+++ b/app/session.go
@@ -219,11 +219,25 @@ func CreateUserAccessToken(token *model.UserAccessToken) (*model.UserAccessToken
token.Token = model.NewId()
+ uchan := Srv.Store.User().Get(token.UserId)
+
if result := <-Srv.Store.UserAccessToken().Save(token); result.Err != nil {
return nil, result.Err
} else {
- return result.Data.(*model.UserAccessToken), nil
+ token = result.Data.(*model.UserAccessToken)
+ }
+
+ if result := <-uchan; result.Err != nil {
+ l4g.Error(result.Err.Error())
+ } else {
+ user := result.Data.(*model.User)
+ if err := SendUserAccessTokenAddedEmail(user.Email, user.Locale); err != nil {
+ l4g.Error(err.Error())
+ }
}
+
+ return token, nil
+
}
func createSessionForUserAccessToken(tokenString string) (*model.Session, *model.AppError) {