func (c *User) SignupPost(user models.User) revel.Result { user.Validate(c.Validation) if c.Validation.HasErrors() { c.Validation.Keep() c.FlashParams() return c.Redirect(routes.User.Signup()) } user.Type = MemberGroup user.Avatar = defaultAvatar user.ValidateCode = strings.Replace(uuid.NewUUID().String(), "-", "", -1) if !user.Save() { c.Flash.Error("注册用户失败") return c.Redirect(routes.User.Signup()) } subject := "激活账号" content := `<h2><a href="http://gorevel.cn/user/validate/` + user.ValidateCode + `">激活账号</a></h2>` go sendMail(subject, content, []string{user.Email}) c.Flash.Success(fmt.Sprintf("%s 注册成功,请到您的邮箱 %s 激活账号!", user.Name, user.Email)) perm := new(models.Permissions) perm.UserId = user.Id perm.Perm = MemberGroup perm.Save() return c.Redirect(routes.User.Signin()) }
func (c *Admin) DeleteUser(id int64) revel.Result { q, err := qbs.GetQbs() if err != nil { fmt.Println(err) } defer q.Close() user := new(models.User) user.Id = id q.Find(user) _, err = q.Delete(user) if err != nil { fmt.Println(err) } return c.RenderJson([]byte("true")) }
func (c Application) SaveUser(user models.User, verifyPassword string) revel.Result { c.Validation.Required(verifyPassword) c.Validation.Required(verifyPassword == user.Password). Message("Password does not match") user.Validate(c.Validation) if c.Validation.HasErrors() { c.Validation.Keep() c.FlashParams() return c.Redirect(routes.Application.Register()) } user.HashedPassword, _ = bcrypt.GenerateFromPassword( []byte(user.Password), bcrypt.DefaultCost) err := c.Txn.Insert(&user) if err != nil { panic(err) } c.Session["user"] = user.Username c.Flash.Success("Welcome, " + user.Name) return c.Redirect(routes.Hotels.Index()) }