Fix #346 where is_open_for_signup was ignored

This commit is contained in:
olivierdalang 2019-05-23 23:27:23 +02:00
parent 624ad01afb
commit 61393b5bff

View File

@ -8,6 +8,7 @@ try:
get_username_max_length)
from allauth.account.adapter import get_adapter
from allauth.account.utils import setup_user_email
from allauth.socialaccount.adapter import get_adapter
from allauth.socialaccount.helpers import complete_social_login
from allauth.socialaccount.models import SocialAccount
from allauth.socialaccount.providers.base import AuthProcess
@ -139,6 +140,12 @@ class SocialLoginSerializer(serializers.Serializer):
_("User is already registered with this e-mail address.")
)
# If signup is disabled, we cannot login a new user
if not get_adapter(request).is_open_for_signup(request, login):
raise serializers.ValidationError(
_("User is not registered but registration is closed.")
)
login.lookup()
login.save(request, connect=True)