fixed account detail
This commit is contained in:
parent
530ce38527
commit
434df203da
|
|
@ -4,9 +4,11 @@ from django.contrib.auth import password_validation as password_validators
|
|||
from fcm_django.models import FCMDevice
|
||||
from rest_framework import exceptions
|
||||
from rest_framework import serializers
|
||||
from rest_framework import validators as rest_validators
|
||||
|
||||
from account import models, tasks
|
||||
from utils import exceptions as utils_exceptions
|
||||
from utils import methods as utils_methods
|
||||
|
||||
|
||||
# User serializers
|
||||
|
|
@ -17,12 +19,17 @@ class UserSerializer(serializers.ModelSerializer):
|
|||
fullname = serializers.CharField(source='get_full_name', read_only=True)
|
||||
|
||||
# REQUEST
|
||||
username = serializers.CharField(required=False)
|
||||
username = serializers.CharField(
|
||||
validators=(rest_validators.UniqueValidator(queryset=models.User.objects.all()),),
|
||||
write_only=True,
|
||||
required=False)
|
||||
first_name = serializers.CharField(required=False, write_only=True)
|
||||
last_name = serializers.CharField(required=False, write_only=True)
|
||||
image = serializers.ImageField(required=False)
|
||||
cropped_image = serializers.ImageField(required=False)
|
||||
email = serializers.EmailField(required=False)
|
||||
email = serializers.EmailField(
|
||||
validators=(rest_validators.UniqueValidator(queryset=models.User.objects.all()),),
|
||||
required=False)
|
||||
newsletter = serializers.BooleanField(required=False)
|
||||
|
||||
class Meta:
|
||||
|
|
@ -43,14 +50,13 @@ class UserSerializer(serializers.ModelSerializer):
|
|||
"""Validate email value"""
|
||||
if value == self.instance.email:
|
||||
raise serializers.ValidationError()
|
||||
if models.User.objects.filter(email=value).exists():
|
||||
raise serializers.ValidationError()
|
||||
return value
|
||||
|
||||
def validate_username(self, value):
|
||||
"""Validate username"""
|
||||
if models.User.objects.filter(username=value).exists():
|
||||
raise serializers.ValidationError()
|
||||
"""Custom username validation"""
|
||||
valid = utils_methods.username_validator(username=value)
|
||||
if not valid:
|
||||
raise utils_exceptions.NotValidUsernameError()
|
||||
return value
|
||||
|
||||
def validate(self, attrs):
|
||||
|
|
|
|||
|
|
@ -21,8 +21,7 @@ class SignupSerializer(serializers.ModelSerializer):
|
|||
# REQUEST
|
||||
username = serializers.CharField(
|
||||
validators=(rest_validators.UniqueValidator(queryset=account_models.User.objects.all()),),
|
||||
write_only=True
|
||||
)
|
||||
write_only=True)
|
||||
password = serializers.CharField(write_only=True)
|
||||
email = serializers.EmailField(
|
||||
validators=(rest_validators.UniqueValidator(queryset=account_models.User.objects.all()),),
|
||||
|
|
@ -38,21 +37,21 @@ class SignupSerializer(serializers.ModelSerializer):
|
|||
'newsletter'
|
||||
)
|
||||
|
||||
def validate_username(self, data):
|
||||
def validate_username(self, value):
|
||||
"""Custom username validation"""
|
||||
valid = utils_methods.username_validator(username=data)
|
||||
valid = utils_methods.username_validator(username=value)
|
||||
if not valid:
|
||||
raise utils_exceptions.NotValidUsernameError()
|
||||
return data
|
||||
return value
|
||||
|
||||
def validate_password(self, data):
|
||||
def validate_password(self, value):
|
||||
"""Custom password validation"""
|
||||
try:
|
||||
password_validators.validate_password(password=data)
|
||||
password_validators.validate_password(password=value)
|
||||
except serializers.ValidationError as e:
|
||||
raise serializers.ValidationError(str(e))
|
||||
else:
|
||||
return data
|
||||
return value
|
||||
|
||||
def create(self, validated_data):
|
||||
"""Override create method"""
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user