| from allauth.socialaccount.adapter import DefaultSocialAccountAdapter |
| from allauth.account.adapter import DefaultAccountAdapter |
| from django.core.exceptions import PermissionDenied |
| from django.contrib.auth.models import Group |
| |
| |
| class FairphoneAccountAdapter(DefaultSocialAccountAdapter): |
| def is_open_for_signup(self, request, sociallogin): |
| return True |
| |
| def save_user(self, request, sociallogin, form=None): |
| u = DefaultSocialAccountAdapter.save_user( |
| self, request, sociallogin, form=None |
| ) |
| if u.email.split("@")[1] == "fairphone.com": |
| g = Group.objects.get(name="FairphoneSoftwareTeam") |
| g.user_set.add(u) |
| return u |
| |
| def populate_user(self, request, sociallogin, data): |
| u = DefaultSocialAccountAdapter.populate_user( |
| self, request, sociallogin, data |
| ) |
| if not u.email.split("@")[1] == "fairphone.com": |
| raise PermissionDenied() |
| return u |
| |
| |
| class FormAccountAdapter(DefaultAccountAdapter): |
| def is_open_for_signup(self, request): |
| return False |