diff --git a/models/user_avatar.go b/models/user_avatar.go index 2f9db5c2e..4305554bf 100644 --- a/models/user_avatar.go +++ b/models/user_avatar.go @@ -40,10 +40,9 @@ func (u *User) generateRandomAvatar(e Engine) error { return fmt.Errorf("RandomImage: %v", err) } - if u.Avatar == "" { - u.Avatar = base.HashEmail(u.AvatarEmail) - } + u.Avatar = base.HashEmail(seed) + // Don't share the images so that we can delete them easily if err := storage.SaveFrom(storage.Avatars, u.CustomAvatarRelativePath(), func(w io.Writer) error { if err := png.Encode(w, img); err != nil { log.Error("Encode: %v", err) @@ -133,7 +132,7 @@ func (u *User) UploadAvatar(data []byte) error { // Otherwise, if any of the users delete his avatar // Other users will lose their avatars too. u.Avatar = fmt.Sprintf("%x", md5.Sum([]byte(fmt.Sprintf("%d-%x", u.ID, md5.Sum(data))))) - if err = updateUser(sess, u); err != nil { + if err = updateUserCols(sess, u, "use_custom_avatar", "avatar"); err != nil { return fmt.Errorf("updateUser: %v", err) }