fix(registration): password2 isn't required if ACCOUNT_SIGNUP_PASSWORD_ENTER_TWICE is False

This commit is contained in:
artemowkin 2020-06-06 10:44:38 +09:00
parent 624ad01afb
commit d2cadd130a

View File

@ -171,7 +171,10 @@ class RegisterSerializer(serializers.Serializer):
)
email = serializers.EmailField(required=allauth_settings.EMAIL_REQUIRED)
password1 = serializers.CharField(write_only=True)
password2 = serializers.CharField(write_only=True)
password2 = serializers.CharField(
write_only=True,
required=allauth_settings.SIGNUP_PASSWORD_ENTER_TWICE
)
def validate_username(self, username):
username = get_adapter().clean_username(username)
@ -189,9 +192,10 @@ class RegisterSerializer(serializers.Serializer):
return get_adapter().clean_password(password)
def validate(self, data):
if data['password1'] != data['password2']:
if not allauth_settings.SIGNUP_PASSWORD_ENTER_TWICE:
return data
elif data['password1'] != data['password2']:
raise serializers.ValidationError(_("The two password fields didn't match."))
return data
def custom_signup(self, request, user):
pass