Coverage for sm / adapter.py: 25%
16 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-24 12:43 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-24 12:43 +0000
1from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
2from django.contrib.auth import get_user_model
5class MySocialAccountAdapter(DefaultSocialAccountAdapter):
6 def pre_social_login(self, request, sociallogin):
7 """
8 Connect existing local accounts with social accounts if emails match.
9 """
10 if sociallogin.is_existing:
11 return
13 email_addresses = sociallogin.email_addresses
14 if not email_addresses:
15 return
17 email = email_addresses[0].email
19 User = get_user_model()
20 try:
21 user = User.objects.get(email=email)
22 sociallogin.connect(request, user)
23 except User.DoesNotExist:
24 pass