aboutsummaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/user.go12
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)