blob: 4eb3a06d758a146e25668645a2dd3f5dcd60fbfb [file] [log] [blame]
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