func (this *UserController) Password(w http.ResponseWriter, r *http.Request) { class.Logger.Debug("Admin Password") this.Init(w, r) ok := 1 hint := make(map[string]string) data := make(map[string]string) data["userHandle"] = r.FormValue("user[Handle]") data["newPassword"] = r.FormValue("user[newPassword]") data["confirmPassword"] = r.FormValue("user[confirmPassword]") uid := r.FormValue("user[Handle]") if uid == "" { ok, hint["uid"] = 0, "Handle should not be empty" } else { userModel := model.UserModel{} _, err := userModel.Detail(uid) if err == model.NotFoundErr { ok, hint["uid"] = 0, "This handle does not exist!" } else if err != nil { http.Error(w, err.Error(), 400) return } } if len(data["newPassword"]) < 6 { ok, hint["newPassword"] = 0, "Password should contain at least six characters." } if data["newPassword"] != data["confirmPassword"] { ok, hint["confirmPassword"] = 0, "Confirmation mismatched." } if ok == 1 { pwd := data["newPassword"] userModel := model.UserModel{} err := userModel.Password(uid, pwd) if err != nil { http.Error(w, err.Error(), 400) return } w.WriteHeader(200) } else { w.WriteHeader(400) } b, err := json.Marshal(&hint) if err != nil { http.Error(w, "json error", 400) return } w.Write(b) }
func (this *UserController) Password(w http.ResponseWriter, r *http.Request) { class.Logger.Debug("User Password") this.Init(w, r) ok := 1 hint := make(map[string]string) hint["uid"] = this.Uid data := make(map[string]string) data["oldPassword"] = r.FormValue("user[oldPassword]") data["newPassword"] = r.FormValue("user[newPassword]") data["confirmPassword"] = r.FormValue("user[confirmPassword]") uid := this.Uid pwd := data["oldPassword"] userModel := model.UserModel{} ret, err := userModel.Login(uid, pwd) if err != nil { http.Error(w, err.Error(), 500) return } if ret.Uid == "" { ok, hint["oldPassword"] = 0, "Old Password is Incorrect." } if len(data["newPassword"]) < 6 { ok, hint["newPassword"] = 0, "Password should contain at least six characters." } if data["newPassword"] != data["confirmPassword"] { ok, hint["confirmPassword"] = 0, "Confirmation mismatched." } if ok == 1 { pwd = data["newPassword"] err := userModel.Password(uid, pwd) if err != nil { http.Error(w, err.Error(), 400) return } w.WriteHeader(200) } else { w.WriteHeader(400) } b, err := json.Marshal(&hint) if err != nil { http.Error(w, "json error", 400) return } w.Write(b) }
//设置用户密码 //@URL: /admin/users/password @method: PUT func (uc *AdminUser) Password() { restweb.Logger.Debug("Admin Password") ok := 1 hint := make(map[string]string) data := make(map[string]string) data["userHandle"] = uc.Input.Get("user[Handle]") data["newPassword"] = uc.Input.Get("user[newPassword]") data["confirmPassword"] = uc.Input.Get("user[confirmPassword]") uid := uc.Input.Get("user[Handle]") if uid == "" { ok, hint["uid"] = 0, "Handle should not be empty" } else { userModel := model.UserModel{} _, err := userModel.Detail(uid) if err == model.NotFoundErr { ok, hint["uid"] = 0, "uc handle does not exist!" } else if err != nil { uc.Error(err.Error(), 400) return } } if len(data["newPassword"]) < 6 { ok, hint["newPassword"] = 0, "Password should contain at least six characters." } if data["newPassword"] != data["confirmPassword"] { ok, hint["confirmPassword"] = 0, "Confirmation mismatched." } if ok == 1 { pwd := data["newPassword"] userModel := model.UserModel{} err := userModel.Password(uid, pwd) if err != nil { uc.Error(err.Error(), 400) return } uc.W.WriteHeader(200) } else { uc.W.WriteHeader(400) } b, _ := json.Marshal(&hint) uc.W.Write(b) }
//@URL: /account @method: POST func (uc *UserController) Password() { restweb.Logger.Debug("User Password") valid := restweb.Validation{} uid := uc.Uid // valid.AppendError("uid", uid) oldPwd := uc.Input.Get("user[oldPassword]") newPwd := uc.Input.Get("user[newPassword]") confirmPwd := uc.Input.Get("user[confirmPassword]") userModel := model.UserModel{} ret, err := userModel.Login(uid, oldPwd) if err != nil { uc.Error(err.Error(), 500) return } if ret.Uid == "" { valid.AppendError("oldPassword", "Old Password is Incorrect.") } valid.MinSize(newPwd, 6, "newPassword") valid.Equal(newPwd, confirmPwd, "confirmPassword") if !valid.HasError { err := userModel.Password(uid, newPwd) if err != nil { uc.Error(err.Error(), 400) return } uc.W.WriteHeader(200) } else { uc.W.WriteHeader(400) } hint := valid.RenderErrMap() b, _ := json.Marshal(&hint) uc.W.Write(b) }