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