password check
This commit is contained in:
parent
5cdd35ea82
commit
3d994ae121
@ -6,38 +6,38 @@ from api.models import GuiSettings
|
|||||||
|
|
||||||
|
|
||||||
class UserSerializer(serializers.ModelSerializer):
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
confirm_password = serializers.CharField(write_only=False, required=False)
|
|
||||||
new_password = serializers.CharField(write_only=True, required=False)
|
new_password = serializers.CharField(write_only=True, required=False)
|
||||||
old_password = serializers.CharField(write_only=True, required=False)
|
old_password = serializers.CharField(write_only=True, required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
fields = ['username', 'old_password',
|
fields = ['id', 'username', 'old_password',
|
||||||
'new_password', 'confirm_password', 'email']
|
'new_password', 'email']
|
||||||
|
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
|
print(validated_data)
|
||||||
instance.password = validated_data.get('password', instance.password)
|
instance.password = validated_data.get('password', instance.password)
|
||||||
|
|
||||||
if not validated_data['new_password']:
|
if 'new_password' in validated_data and \
|
||||||
raise serializers.ValidationError({'new_password': 'not found'})
|
'old_password' in validated_data:
|
||||||
|
if not validated_data['new_password']:
|
||||||
|
raise serializers.ValidationError({'new_password': 'not found'})
|
||||||
|
|
||||||
if not validated_data['old_password']:
|
if not validated_data['old_password']:
|
||||||
raise serializers.ValidationError({'old_password': 'not found'})
|
raise serializers.ValidationError({'old_password': 'not found'})
|
||||||
|
|
||||||
if not instance.check_password(validated_data['old_password']):
|
if not instance.check_password(validated_data['old_password']):
|
||||||
raise serializers.ValidationError(
|
raise serializers.ValidationError(
|
||||||
{'old_password': 'wrong password'})
|
{'old_password': 'wrong password'})
|
||||||
|
|
||||||
if validated_data['new_password'] != \
|
if validated_data['new_password'] and \
|
||||||
validated_data['confirm_password']:
|
instance.check_password(validated_data['old_password']):
|
||||||
raise serializers.ValidationError(
|
# instance.password = validated_data['new_password']
|
||||||
{'passwords': 'passwords do not match'})
|
instance.set_password(validated_data['new_password'])
|
||||||
|
instance.save()
|
||||||
if validated_data['new_password'] == \
|
return instance
|
||||||
validated_data['confirm_password'] and \
|
elif 'email' in validated_data:
|
||||||
instance.check_password(validated_data['old_password']):
|
instance.email = validated_data['email']
|
||||||
# instance.password = validated_data['new_password']
|
|
||||||
instance.set_password(validated_data['new_password'])
|
|
||||||
instance.save()
|
instance.save()
|
||||||
return instance
|
return instance
|
||||||
return instance
|
return instance
|
||||||
|
Loading…
x
Reference in New Issue
Block a user