Skip to content

Commit 3442f7f

Browse files
authored
Social accounts: sync remote repositories when a new connection is added (#12062)
Extracted from #11942
1 parent 8050766 commit 3442f7f

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

readthedocs/oauth/signals.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import structlog
22
from allauth.account.signals import user_logged_in
3+
from allauth.socialaccount.models import SocialLogin
4+
from allauth.socialaccount.signals import social_account_added
35
from django.contrib.auth.models import User
46
from django.db.models.signals import post_save
57
from django.dispatch import receiver
@@ -28,6 +30,16 @@ def sync_remote_repositories_on_login(sender, request, user, *args, **kwargs):
2830
sync_remote_repositories.delay(user.pk)
2931

3032

33+
@receiver(social_account_added, sender=SocialLogin)
34+
def sync_remote_repositories_on_social_account_added(sender, request, sociallogin, *args, **kwargs):
35+
"""Sync remote repositories when a new social account is added."""
36+
log.info(
37+
"Triggering remote repositories sync in background on social account added.",
38+
user_username=sociallogin.user.username,
39+
)
40+
sync_remote_repositories.delay(sociallogin.user.pk)
41+
42+
3143
@receiver(post_save, sender=RemoteRepository)
3244
def update_project_clone_url(sender, instance, created, *args, **kwargs):
3345
"""Update the clone URL for all projects linked to this RemoteRepository."""

0 commit comments

Comments
 (0)