Signup: fix signup for users without user info.

master
Tom Hacohen 4 years ago
parent 15cd41db83
commit c2337f244d

@ -15,6 +15,7 @@
import base64
from django.core.files.base import ContentFile
from django.core import exceptions as django_exceptions
from django.contrib.auth import get_user_model
from django.db import transaction
from rest_framework import serializers
@ -351,6 +352,9 @@ class UserSignupSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = (User.USERNAME_FIELD, User.EMAIL_FIELD)
extra_kwargs = {
'username': {'validators': []}, # We specifically validate in SignupSerializer
}
class AuthenticationSignupSerializer(serializers.Serializer):
@ -370,6 +374,11 @@ class AuthenticationSignupSerializer(serializers.Serializer):
raise serializers.ValidationError('User already exists')
instance.set_unusable_password()
try:
instance.clean_fields()
except django_exceptions.ValidationError as e:
raise serializers.ValidationError(e)
# FIXME: send email verification
models.UserInfo.objects.create(**validated_data, owner=instance)

Loading…
Cancel
Save