示例#1
0
文件: users.go 项目: huntaub/list
// Verify User Email
func (u *Users) VerifyEmail(verification string, email string) revel.Result {
	// Grab the User Verifying
	var user *models.User
	err := users.Find(map[string]string{"email": email, "verificationkey": verification}).One(&user)
	if err != nil {
		u.Flash.Error("Incorrect verification key.")
		return u.Redirect(routes.App.Index())
	}

	// Update the User - They are Verified
	user.Verified = true
	err = users.Update(map[string]string{"email": email}, user)
	if err != nil {
		u.Flash.Error("Unable to verify you at this time.")
		return u.Redirect(routes.App.Index())
	}

	// Log them in
	u.Session["user"] = email

	// Show success
	u.Flash.Success("Email Successfully verified.")
	return u.Redirect(routes.App.Index())
}