Dirk Vogt | 57a615d | 2017-05-04 22:29:54 +0200 | [diff] [blame] | 1 | from allauth.socialaccount.adapter import DefaultSocialAccountAdapter |
| 2 | from allauth.account.adapter import DefaultAccountAdapter |
| 3 | from django.core.exceptions import PermissionDenied |
| 4 | from django.contrib.auth.models import Group |
| 5 | |
| 6 | class FairphoneAccountAdapter(DefaultSocialAccountAdapter): |
| 7 | |
| 8 | def is_open_for_signup(self, request, sociallogin): |
| 9 | return True |
| 10 | |
| 11 | def save_user(self, request, sociallogin, form=None): |
| 12 | u =DefaultSocialAccountAdapter.save_user(self, request, sociallogin, form=None) |
| 13 | if u.email.split('@')[1] == "fairphone.com": |
| 14 | g = Group.objects.get(name='FairphoneSoftwareTeam') |
| 15 | g.user_set.add(u) |
| 16 | return u |
| 17 | |
| 18 | def populate_user(self, |
| 19 | request, |
| 20 | sociallogin, |
| 21 | data): |
| 22 | u = DefaultSocialAccountAdapter.populate_user(self,request,sociallogin,data) |
| 23 | if not u.email.split('@')[1] == "fairphone.com": |
| 24 | raise PermissionDenied() |
| 25 | return u |
| 26 | |
| 27 | class FormAccountAdapter(DefaultAccountAdapter): |
| 28 | def is_open_for_signup(self, request): |
| 29 | return False |