mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	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>
This commit is contained in:
		| @@ -112,12 +112,18 @@ func (source *Source) Sync(ctx context.Context, updateExisting bool) error { | ||||
|  | ||||
| 			if err != nil { | ||||
| 				log.Error("SyncExternalUsers[%s]: Error creating user %s: %v", source.loginSource.Name, su.Username, err) | ||||
| 			} else if isAttributeSSHPublicKeySet { | ||||
| 			} | ||||
|  | ||||
| 			if err == nil && isAttributeSSHPublicKeySet { | ||||
| 				log.Trace("SyncExternalUsers[%s]: Adding LDAP Public SSH Keys for user %s", source.loginSource.Name, usr.Name) | ||||
| 				if models.AddPublicKeysBySource(usr, source.loginSource, su.SSHPublicKey) { | ||||
| 					sshKeysNeedUpdate = true | ||||
| 				} | ||||
| 			} | ||||
|  | ||||
| 			if err == nil && len(source.AttributeAvatar) > 0 { | ||||
| 				_ = usr.UploadAvatar(su.Avatar) | ||||
| 			} | ||||
| 		} else if updateExisting { | ||||
| 			// Synchronize SSH Public Key if that attribute is set | ||||
| 			if isAttributeSSHPublicKeySet && models.SynchronizePublicKeys(usr, source.loginSource, su.SSHPublicKey) { | ||||
| @@ -150,6 +156,13 @@ func (source *Source) Sync(ctx context.Context, updateExisting bool) error { | ||||
| 					log.Error("SyncExternalUsers[%s]: Error updating user %s: %v", source.loginSource.Name, usr.Name, err) | ||||
| 				} | ||||
| 			} | ||||
|  | ||||
| 			if usr.IsUploadAvatarChanged(su.Avatar) { | ||||
| 				if err == nil && len(source.AttributeAvatar) > 0 { | ||||
| 					_ = usr.UploadAvatar(su.Avatar) | ||||
| 				} | ||||
|  | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user