aboutsummaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2021-09-27 03:39:36 +0100
committerGitHub <noreply@github.com>2021-09-26 22:39:36 -0400
commit123f0aea00687d98893036e252efa7ff672b3ad5 (patch)
treed93ba662329576a7428b86e45f6c1178c377c5aa /models
parent7e98cd58dd670fd83c0ace5e9c8ef9a0407fd575 (diff)
downloadgitea-123f0aea00687d98893036e252efa7ff672b3ad5.tar.gz
gitea-123f0aea00687d98893036e252efa7ff672b3ad5.zip
Allow LDAP Sources to provide Avatars (#16851)
* Allow LDAP Sources to provide Avatars Add setting to LDAP source to allow it to provide an Avatar. Currently this is required to point to the image bytes. Fix #4144 Signed-off-by: Andrew Thornton <art27@cantab.net> * Rename as Avatar Attribute (drop JPEG) Signed-off-by: Andrew Thornton <art27@cantab.net> * Always synchronize avatar if there is change Signed-off-by: Andrew Thornton <art27@cantab.net> * Actually get the avatar from the ldap Signed-off-by: Andrew Thornton <art27@cantab.net> * clean-up Signed-off-by: Andrew Thornton <art27@cantab.net> * use len()>0 rather than != "" Signed-off-by: Andrew Thornton <art27@cantab.net> * slight shortcut in IsUploadAvatarChanged Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'models')
-rw-r--r--models/user_avatar.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/models/user_avatar.go b/models/user_avatar.go
index 65e59eb326..a7ca1c9151 100644
--- a/models/user_avatar.go
+++ b/models/user_avatar.go
@@ -153,6 +153,15 @@ func (u *User) UploadAvatar(data []byte) error {
return sess.Commit()
}
+// IsUploadAvatarChanged returns true if the current user's avatar would be changed with the provided data
+func (u *User) IsUploadAvatarChanged(data []byte) bool {
+ if !u.UseCustomAvatar || len(u.Avatar) == 0 {
+ return true
+ }
+ avatarID := fmt.Sprintf("%x", md5.Sum([]byte(fmt.Sprintf("%d-%x", u.ID, md5.Sum(data)))))
+ return u.Avatar != avatarID
+}
+
// DeleteAvatar deletes the user's custom avatar.
func (u *User) DeleteAvatar() error {
aPath := u.CustomAvatarRelativePath()