Commit 03f26006 by CaIon

fix: update user

parent bbac1a53
...@@ -453,7 +453,7 @@ func UpdateUser(c *gin.Context) { ...@@ -453,7 +453,7 @@ func UpdateUser(c *gin.Context) {
updatedUser.Password = "" // rollback to what it should be updatedUser.Password = "" // rollback to what it should be
} }
updatePassword := updatedUser.Password != "" updatePassword := updatedUser.Password != ""
if err := updatedUser.Update(updatePassword); err != nil { if err := updatedUser.Edit(updatePassword); err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": err.Error(), "message": err.Error(),
...@@ -726,7 +726,7 @@ func ManageUser(c *gin.Context) { ...@@ -726,7 +726,7 @@ func ManageUser(c *gin.Context) {
user.Role = common.RoleCommonUser user.Role = common.RoleCommonUser
} }
if err := user.UpdateAll(false); err != nil { if err := user.Update(false); err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": err.Error(), "message": err.Error(),
......
...@@ -244,7 +244,7 @@ func (user *User) Update(updatePassword bool) error { ...@@ -244,7 +244,7 @@ func (user *User) Update(updatePassword bool) error {
return err return err
} }
func (user *User) UpdateAll(updatePassword bool) error { func (user *User) Edit(updatePassword bool) error {
var err error var err error
if updatePassword { if updatePassword {
user.Password, err = common.Password2Hash(user.Password) user.Password, err = common.Password2Hash(user.Password)
...@@ -254,7 +254,13 @@ func (user *User) UpdateAll(updatePassword bool) error { ...@@ -254,7 +254,13 @@ func (user *User) UpdateAll(updatePassword bool) error {
} }
newUser := *user newUser := *user
DB.First(&user, user.Id) DB.First(&user, user.Id)
err = DB.Model(user).Select("*").Updates(newUser).Error err = DB.Model(user).Updates(map[string]interface{}{
"username": newUser.Username,
"password": newUser.Password,
"display_name": newUser.DisplayName,
"group": newUser.Group,
"quota": newUser.Quota,
}).Error
if err == nil { if err == nil {
if common.RedisEnabled { if common.RedisEnabled {
_ = common.RedisSet(fmt.Sprintf("user_group:%d", user.Id), user.Group, time.Duration(UserId2GroupCacheSeconds)*time.Second) _ = common.RedisSet(fmt.Sprintf("user_group:%d", user.Id), user.Group, time.Duration(UserId2GroupCacheSeconds)*time.Second)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment