mirror of
https://github.com/Tivix/django-rest-auth.git
synced 2025-07-08 21:23:04 +03:00
Added logic to not include username in the Login and UserDetail Serializer when: ACCOUNT_USER_MODEL_USERNAME_FIELD is None
This commit is contained in:
parent
a3057b7aa1
commit
077d868493
|
@ -17,7 +17,9 @@ UserModel = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
class LoginSerializer(serializers.Serializer):
|
class LoginSerializer(serializers.Serializer):
|
||||||
|
if settings.ACCOUNT_USER_MODEL_USERNAME_FIELD is not None:
|
||||||
username = serializers.CharField(required=False, allow_blank=True)
|
username = serializers.CharField(required=False, allow_blank=True)
|
||||||
|
|
||||||
email = serializers.EmailField(required=False, allow_blank=True)
|
email = serializers.EmailField(required=False, allow_blank=True)
|
||||||
password = serializers.CharField(style={'input_type': 'password'})
|
password = serializers.CharField(style={'input_type': 'password'})
|
||||||
|
|
||||||
|
@ -34,7 +36,6 @@ class LoginSerializer(serializers.Serializer):
|
||||||
|
|
||||||
def _validate_username(self, username, password):
|
def _validate_username(self, username, password):
|
||||||
user = None
|
user = None
|
||||||
|
|
||||||
if username and password:
|
if username and password:
|
||||||
user = authenticate(username=username, password=password)
|
user = authenticate(username=username, password=password)
|
||||||
else:
|
else:
|
||||||
|
@ -57,6 +58,7 @@ class LoginSerializer(serializers.Serializer):
|
||||||
return user
|
return user
|
||||||
|
|
||||||
def validate(self, attrs):
|
def validate(self, attrs):
|
||||||
|
|
||||||
username = attrs.get('username')
|
username = attrs.get('username')
|
||||||
email = attrs.get('email')
|
email = attrs.get('email')
|
||||||
password = attrs.get('password')
|
password = attrs.get('password')
|
||||||
|
@ -114,7 +116,6 @@ class TokenSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
Serializer for Token model.
|
Serializer for Token model.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TokenModel
|
model = TokenModel
|
||||||
fields = ('key',)
|
fields = ('key',)
|
||||||
|
@ -124,6 +125,12 @@ class UserDetailsSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
User model w/o password
|
User model w/o password
|
||||||
"""
|
"""
|
||||||
|
if settings.ACCOUNT_USER_MODEL_USERNAME_FIELD is None:
|
||||||
|
class Meta:
|
||||||
|
model = UserModel
|
||||||
|
fields = ('pk', 'email', 'first_name', 'last_name')
|
||||||
|
read_only_fields = ('email', )
|
||||||
|
else:
|
||||||
class Meta:
|
class Meta:
|
||||||
model = UserModel
|
model = UserModel
|
||||||
fields = ('pk', 'username', 'email', 'first_name', 'last_name')
|
fields = ('pk', 'username', 'email', 'first_name', 'last_name')
|
||||||
|
|
Loading…
Reference in New Issue
Block a user