diff --git a/object/check.go b/object/check.go index 21780184..fc898e78 100644 --- a/object/check.go +++ b/object/check.go @@ -58,7 +58,7 @@ func CheckUserSignup(organizationName string, username string, password string, } func CheckPassword(user *User, password string) string { - organization := getOrganization("admin", user.Owner) + organization := getOrganizationByUser(user) if organization.PasswordType == "plain" { if password == user.Password { diff --git a/object/user.go b/object/user.go index b2f64060..78d047cd 100644 --- a/object/user.go +++ b/object/user.go @@ -115,11 +115,13 @@ func UpdateUserForOriginal(user *User) bool { func AddUser(user *User) bool { user.Id = util.GenerateId() - user.UpdateUserHash() - user.PreHash = user.Hash + organization := getOrganizationByUser(user) user.UpdateUserPassword(organization) + user.UpdateUserHash() + user.PreHash = user.Hash + affected, err := adapter.Engine.Insert(user) if err != nil { panic(err) @@ -135,9 +137,10 @@ func AddUsers(users []*User) bool { organization := getOrganizationByUser(users[0]) for _, user := range users { + user.UpdateUserPassword(organization) + user.UpdateUserHash() user.PreHash = user.Hash - user.UpdateUserPassword(organization) } affected, err := adapter.Engine.Insert(users) @@ -234,6 +237,15 @@ func SetUserField(user *User, field string, value string) bool { panic(err) } + user = getUser(user.Owner, user.Name) + user.UpdateUserHash() + affected, err = adapter.Engine.ID(core.PK{user.Owner, user.Name}).Cols("hash").Update(user) + if err != nil { + panic(err) + } + + return affected != 0 + return affected != 0 }