Signup: fix signup for users without user info.
This commit is contained in:
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…
Reference in New Issue
Block a user