Coverage for sm / adapter.py: 25%

16 statements  

« 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 

3 

4 

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 

12 

13 email_addresses = sociallogin.email_addresses 

14 if not email_addresses: 

15 return 

16 

17 email = email_addresses[0].email 

18 

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