//POST /account/edit func (c Account) PostEdit(user models.User) revel.Result { c.Validation.Required(user.Name).Message("用户名不能为空") if c.Validation.HasErrors() { c.Validation.Keep() c.FlashParams() return c.Redirect(routes.Account.Edit()) } if user.HasName() { return c.Redirect(routes.User.Profile()) } if user.Password != "" { if user.Password == user.ConfirmPassword { user.HashedPassword, user.Salt = models.GenHashPasswordAndSalt(user.Password) username := c.Session[USERNAME] u := models.GetCurrentUser(username) _, err := engine.Id(u.Id).Update(user) if err != nil { fmt.Println(err) } c.Session[USERNAME] = user.Name return c.Redirect(routes.User.Profile()) } else { c.Flash.Error("passwords not match") return c.Redirect(routes.Account.Notice()) } } else { username := c.Session[USERNAME] u := models.GetCurrentUser(username) _, err := engine.Id(u.Id).Cols("name").Update(user) if err != nil { fmt.Println(err) c.Flash.Error(err.Error()) } else { c.Session[USERNAME] = user.Name c.Flash.Success("modify sucess") } return c.Redirect(routes.User.Profile()) } }