func (this *UserController) Privilegeset(w http.ResponseWriter, r *http.Request) { class.Logger.Debug("User Privilege") this.Init(w, r) args := this.ParseURL(r.URL.String()) uid := args["uid"] privilegeStr := args["type"] privilege := config.PrivilegeNA switch privilegeStr { case "Admin": privilege = config.PrivilegeAD case "TC": privilege = config.PrivilegeTC case "PU": privilege = config.PrivilegePU default: http.Error(w, "args error", 400) } ok := 1 hint := make(map[string]string) if uid == "" { ok, hint["uid"] = 0, "Handle should not be empty." } else if uid == this.Uid { ok, hint["uid"] = 0, "You cannot delete yourself" } 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 ok == 1 { userModel := model.UserModel{} err := userModel.Privilege(uid, privilege) if err != nil { http.Error(w, err.Error(), 400) return } w.WriteHeader(200) } else { b, err := json.Marshal(&hint) if err != nil { http.Error(w, "json error", 500) return } w.WriteHeader(400) w.Write(b) } }
// 设置用户权限 //@URL: /admin/privilegeset @method: POST func (uc *AdminUser) Privilegeset() { restweb.Logger.Debug("User Privilege") uid := uc.Input.Get("uid") privilegeStr := uc.Input.Get("type") privilege := config.PrivilegeNA switch privilegeStr { case "Admin": privilege = config.PrivilegeAD case "TC": privilege = config.PrivilegeTC case "PU": privilege = config.PrivilegePU default: uc.Error("args error", 400) } ok := 1 hint := make(map[string]string) if uid == "" { ok, hint["hint"] = 0, "Handle should not be empty." } else if uid == uc.Uid { ok, hint["hint"] = 0, "You cannot delete yourself!" } else { userModel := model.UserModel{} _, err := userModel.Detail(uid) if err == model.NotFoundErr { ok, hint["hint"] = 0, "uc handle does not exist!" } else if err != nil { uc.Error(err.Error(), 400) return } } if ok == 1 { userModel := model.UserModel{} err := userModel.Privilege(uid, privilege) if err != nil { uc.Error(err.Error(), 400) return } uc.W.WriteHeader(200) } else { b, _ := json.Marshal(&hint) uc.W.WriteHeader(400) uc.W.Write(b) } }