diff --git a/models/org.go b/models/org.go index d6cbcc965..9d7aaec7e 100644 --- a/models/org.go +++ b/models/org.go @@ -135,7 +135,9 @@ func CreateOrganization(org, owner *User) (err error) { if _, err = sess.Insert(org); err != nil { return fmt.Errorf("insert organization: %v", err) } - org.GenerateRandomAvatar() + if err = org.generateRandomAvatar(sess); err != nil { + return fmt.Errorf("generate random avatar: %v", err) + } // Add initial creator to organization and owner team. if _, err = sess.Insert(&OrgUser{ diff --git a/models/user.go b/models/user.go index fc78c5800..54a60acd8 100644 --- a/models/user.go +++ b/models/user.go @@ -287,6 +287,10 @@ func (u *User) CustomAvatarPath() string { // GenerateRandomAvatar generates a random avatar for user. func (u *User) GenerateRandomAvatar() error { + return u.generateRandomAvatar(x) +} + +func (u *User) generateRandomAvatar(e Engine) error { seed := u.Email if len(seed) == 0 { seed = u.Name @@ -308,6 +312,10 @@ func (u *User) GenerateRandomAvatar() error { } defer fw.Close() + if _, err := e.Id(u.ID).Cols("avatar").Update(u); err != nil { + return err + } + if err = png.Encode(fw, img); err != nil { return fmt.Errorf("Encode: %v", err) }