]> source.dussan.org Git - gitea.git/commitdiff
Avatar autogeneration fixed (#13282)
authorPaweł Bogusławski <pawel.boguslawski@ib.pl>
Mon, 26 Oct 2020 13:56:14 +0000 (14:56 +0100)
committerGitHub <noreply@github.com>
Mon, 26 Oct 2020 13:56:14 +0000 (15:56 +0200)
This mod fixes problem with initial avatar autogeneration and
avatar autogneration after deleting previous avatar.

Related: https://github.com/go-gitea/gitea/issues/13159
Fixes: 80a6b0f5bce15a641fc75f5f1ef6e42ef54424bc
Author-Change-Id: IB#1105243

models/user.go
models/user_avatar.go
routers/user/setting/profile.go

index 7248db53374443c83dd7198abedc5f921292d218..1ab417115f9186dd0bbb1ca3716538aee37dd38a 100644 (file)
@@ -191,9 +191,6 @@ func (u *User) BeforeUpdate() {
                if len(u.AvatarEmail) == 0 {
                        u.AvatarEmail = u.Email
                }
-               if len(u.AvatarEmail) > 0 && u.Avatar == "" {
-                       u.Avatar = base.HashEmail(u.AvatarEmail)
-               }
        }
 
        u.LowerName = strings.ToLower(u.Name)
@@ -835,7 +832,6 @@ func CreateUser(u *User) (err error) {
 
        u.LowerName = strings.ToLower(u.Name)
        u.AvatarEmail = u.Email
-       u.Avatar = base.HashEmail(u.AvatarEmail)
        if u.Rands, err = GetUserSalt(); err != nil {
                return err
        }
index 0a03ca770759d180ae3cca6b9bc12a8979b18cb6..2f9db5c2e2b5a62dfd784526c29b9ed33256fede 100644 (file)
@@ -39,10 +39,9 @@ func (u *User) generateRandomAvatar(e Engine) error {
        if err != nil {
                return fmt.Errorf("RandomImage: %v", err)
        }
-       // NOTICE for random avatar, it still uses id as avatar name, but custom avatar use md5
-       // since random image is not a user's photo, there is no security for enumable
+
        if u.Avatar == "" {
-               u.Avatar = fmt.Sprintf("%d", u.ID)
+               u.Avatar = base.HashEmail(u.AvatarEmail)
        }
 
        if err := storage.SaveFrom(storage.Avatars, u.CustomAvatarRelativePath(), func(w io.Writer) error {
index 1cb00aa77fab8a85830a5aefe349736cf87b2697..edb78031f2b3419942540fc605eb0c10acfa510b 100644 (file)
@@ -121,7 +121,11 @@ func ProfilePost(ctx *context.Context, form auth.UpdateProfileForm) {
 func UpdateAvatarSetting(ctx *context.Context, form auth.AvatarForm, ctxUser *models.User) error {
        ctxUser.UseCustomAvatar = form.Source == auth.AvatarLocal
        if len(form.Gravatar) > 0 {
-               ctxUser.Avatar = base.EncodeMD5(form.Gravatar)
+               if form.Avatar != nil {
+                       ctxUser.Avatar = base.EncodeMD5(form.Gravatar)
+               } else {
+                       ctxUser.Avatar = ""
+               }
                ctxUser.AvatarEmail = form.Gravatar
        }