示例#1
0
文件: account.go 项目: jango2015/OJ
//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())
	}
}
示例#2
0
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)
}