Selaa lähdekoodia

Avatar autogeneration fixed (#13282)

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: 80a6b0f5bc
Author-Change-Id: IB#1105243
tags/v1.13.0-rc2
Paweł Bogusławski 3 vuotta sitten
vanhempi
commit
28133a801a
No account linked to committer's email address
3 muutettua tiedostoa jossa 7 lisäystä ja 8 poistoa
  1. 0
    4
      models/user.go
  2. 2
    3
      models/user_avatar.go
  3. 5
    1
      routers/user/setting/profile.go

+ 0
- 4
models/user.go Näytä tiedosto

@@ -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
}

+ 2
- 3
models/user_avatar.go Näytä tiedosto

@@ -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 {

+ 5
- 1
routers/user/setting/profile.go Näytä tiedosto

@@ -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
}


Loading…
Peruuta
Tallenna