edit users solved conflicts

This commit is contained in:
Diego Calvo
2021-02-04 12:16:47 +01:00
parent 1bfe41c000
commit 7a7b27cc2b
6 changed files with 53 additions and 20 deletions

View File

@@ -1,27 +1,43 @@
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
from rest_framework import serializers
from . import models
class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
def validate(self, attrs):
# The default result (access/refresh tokens)
data = super(CustomTokenObtainPairSerializer, self).validate(attrs)
# Add extra responses here
data['user'] = {}
data['user']['id'] = self.user.id
data['user']['email'] = self.user.email
data['user']['role'] = self.user.role
return data
class CustomUserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True, required=True, style={'input_type': 'password'})
class Meta:
model = models.CustomUser
fields = ('email', 'full_name', 'role', 'is_active')
class CustomUserReadSerializer(serializers.ModelSerializer):
fields = ('id', 'email', 'full_name', 'role', 'password', 'is_active', 'notify')
class CustomUserAdminSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True, required=False, style={'input_type': 'password'})
class Meta:
model = models.CustomUser
fields = ('id', 'email', 'full_name', 'role', 'is_active', 'provider', 'notify')
fields = ('id', 'email', 'full_name', 'role', 'password', 'is_active', 'notify')
def update(self, instance, validated_data):
for key, value in validated_data.items():
instance.__dict__[key] = value
if 'password' in validated_data:
instance.set_password(validated_data['password'])
instance.save()
class CustomUserWriteSerializer(serializers.ModelSerializer):
return instance
class Meta:
model = models.CustomUser
fields = ('email', 'full_name', 'role', 'password', 'provider')
class CreatorSerializer(serializers.ModelSerializer):