summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReed Garmsen <rgarmsen2295@gmail.com>2015-10-05 14:54:15 -0700
committerReed Garmsen <rgarmsen2295@gmail.com>2015-10-05 14:54:15 -0700
commitf85dc7f575a9aad45d7914279300a22e9a6fae8a (patch)
treec1fd8a45e42e7f57cef3faf30112d247de11cadc
parent817fa66ac4db9522488c1760417ca57cb1b56c20 (diff)
downloadchat-f85dc7f575a9aad45d7914279300a22e9a6fae8a.tar.gz
chat-f85dc7f575a9aad45d7914279300a22e9a6fae8a.tar.bz2
chat-f85dc7f575a9aad45d7914279300a22e9a6fae8a.zip
Resending the verification email now sends the appropriate version of the email depending on whether it's a change or first signup
-rw-r--r--api/user.go4
-rw-r--r--web/web.go7
2 files changed, 8 insertions, 3 deletions
diff --git a/api/user.go b/api/user.go
index 4baf4f81f..13292c434 100644
--- a/api/user.go
+++ b/api/user.go
@@ -890,7 +890,7 @@ func updateUser(c *Context, w http.ResponseWriter, r *http.Request) {
fireAndForgetEmailChangeEmail(rusers[1].Email, team.DisplayName, c.GetTeamURLFromTeam(team), c.GetSiteURL())
if utils.Cfg.EmailSettings.RequireEmailVerification {
- fireAndForgetEmailChangeVerifyEmail(rusers[0].Id, rusers[0].Email, team.Name, team.DisplayName, c.GetSiteURL(), c.GetTeamURLFromTeam(team))
+ FireAndForgetEmailChangeVerifyEmail(rusers[0].Id, rusers[0].Email, team.Name, team.DisplayName, c.GetSiteURL(), c.GetTeamURLFromTeam(team))
}
}
}
@@ -1344,7 +1344,7 @@ func fireAndForgetEmailChangeEmail(email, teamDisplayName, teamURL, siteURL stri
}()
}
-func fireAndForgetEmailChangeVerifyEmail(userId, newUserEmail, teamName, teamDisplayName, siteURL, teamURL string) {
+func FireAndForgetEmailChangeVerifyEmail(userId, newUserEmail, teamName, teamDisplayName, siteURL, teamURL string) {
go func() {
link := fmt.Sprintf("%s/verify_email?uid=%s&hid=%s&teamname=%s&email=%s", siteURL, userId, model.HashPassword(userId), teamName, newUserEmail)
diff --git a/web/web.go b/web/web.go
index a1bbf5a81..4ca60f61a 100644
--- a/web/web.go
+++ b/web/web.go
@@ -414,7 +414,12 @@ func verifyEmail(c *api.Context, w http.ResponseWriter, r *http.Request) {
return
} else {
user := result.Data.(*model.User)
- api.FireAndForgetVerifyEmail(user.Id, user.Email, team.Name, team.DisplayName, c.GetSiteURL(), c.GetTeamURLFromTeam(team))
+
+ if user.LastActivityAt > 0 {
+ api.FireAndForgetEmailChangeVerifyEmail(user.Id, user.Email, team.Name, team.DisplayName, c.GetSiteURL(), c.GetTeamURLFromTeam(team))
+ } else {
+ api.FireAndForgetVerifyEmail(user.Id, user.Email, team.Name, team.DisplayName, c.GetSiteURL(), c.GetTeamURLFromTeam(team))
+ }
newAddress := strings.Replace(r.URL.String(), "&resend=true", "&resend_success=true", -1)
http.Redirect(w, r, newAddress, http.StatusFound)