//POST /account/send-reset-email func (c Account) SendResetEmail(email string) revel.Result { var user models.User code := uuid.NewUUID() user.Email = email user.ResetCode = code.String() user.ResetCodeCreatedTime = time.Now() if user.HasEmail() { _, err := engine.Where("email = ?", email). Cols("reset_code", "reset_code_created_time"). Update(&user) if err != nil { fmt.Println(err) } subject := "reset password" content := fmt.Sprintf( `<h2><a href="http://%s:%s/account/reset/%s">Reset Password</a></h2>`, appAddr, appPort, user.ResetCode) SendMail( subject, content, smtpConfig.Username, []string{email}, smtpConfig, true) c.Flash.Success("Email has been sent, pleas check it.") return c.Redirect(routes.Account.Notice()) } else { c.Flash.Error("Incorrect Email") return c.Redirect(routes.Account.Notice()) } }
func (t *RegisterTest) TestRegisterPostWorks() { var user models.User defer engine.Delete(&user) form := url.Values{ "user.Name": []string{"testName"}, "user.Email": []string{"*****@*****.**"}, "user.Password": []string{"testtest"}, "user.ConfirmPassword": []string{"testtest"}, } t.PostForm("/account/postregister", form) user.Email = "*****@*****.**" has, _ := engine.Get(&user) t.Assert(has) }