summaryrefslogtreecommitdiffstats
path: root/app/email.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/email.go')
-rw-r--r--app/email.go15
1 files changed, 11 insertions, 4 deletions
diff --git a/app/email.go b/app/email.go
index 7676dfe13..7a50fd82a 100644
--- a/app/email.go
+++ b/app/email.go
@@ -270,15 +270,22 @@ func (a *App) SendInviteEmails(team *model.Team, senderName string, invites []st
bodyPage.Html["ExtraInfo"] = utils.TranslateAsHtml(utils.T, "api.templates.invite_body.extra_info",
map[string]interface{}{"TeamDisplayName": team.DisplayName, "TeamURL": siteURL + "/" + team.Name})
+ token := model.NewToken(
+ TOKEN_TYPE_TEAM_INVITATION,
+ model.MapToJson(map[string]string{"teamId": team.Id, "email": invite}),
+ )
+
props := make(map[string]string)
props["email"] = invite
- props["id"] = team.Id
props["display_name"] = team.DisplayName
props["name"] = team.Name
- props["time"] = fmt.Sprintf("%v", model.GetMillis())
data := model.MapToJson(props)
- hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, a.Config().EmailSettings.InviteSalt))
- bodyPage.Props["Link"] = fmt.Sprintf("%s/signup_user_complete/?d=%s&h=%s", siteURL, url.QueryEscape(data), url.QueryEscape(hash))
+
+ if result := <-a.Srv.Store.Token().Save(token); result.Err != nil {
+ l4g.Error(utils.T("api.team.invite_members.send.error"), result.Err)
+ continue
+ }
+ bodyPage.Props["Link"] = fmt.Sprintf("%s/signup_user_complete/?d=%s&t=%s", siteURL, url.QueryEscape(data), url.QueryEscape(token.Token))
if !a.Config().EmailSettings.SendEmailNotifications {
l4g.Info(utils.T("api.team.invite_members.sending.info"), invite, bodyPage.Props["Link"])