diff options
Diffstat (limited to 'models')
-rw-r--r-- | models/user.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/models/user.go b/models/user.go index bd4cace4..14a05251 100644 --- a/models/user.go +++ b/models/user.go @@ -346,6 +346,18 @@ func (u *User) UploadAvatar(data []byte) error { return sess.Commit() } +// DeleteAvatar deletes the user's custom avatar. +func (u *User) DeleteAvatar() error { + log.Trace("DeleteAvatar[%d]: %s", u.Id, u.CustomAvatarPath()) + os.Remove(u.CustomAvatarPath()) + + u.UseCustomAvatar = false + if err := UpdateUser(u); err != nil { + return fmt.Errorf("UpdateUser: %v", err) + } + return nil +} + // IsAdminOfRepo returns true if user has admin or higher access of repository. func (u *User) IsAdminOfRepo(repo *Repository) bool { has, err := HasAccess(u, repo, ACCESS_MODE_ADMIN) |