user list api

This commit is contained in:
abutalib-kiwi
2023-08-04 16:27:46 +05:30
parent 756bea0471
commit 5f1c645e3a
3 changed files with 50 additions and 25 deletions

View File

@ -84,11 +84,18 @@ class UserManagementListSerializer(serializers.ModelSerializer):
class GuardianSerializer(serializers.ModelSerializer):
name = serializers.SerializerMethodField()
phone_number = serializers.SerializerMethodField()
class Meta:
model = Guardian
fields = ('id', 'name', 'dob', 'gender', 'phone_number', 'is_active', 'country_name', 'image')
fields = ('id', 'name', 'dob', 'gender', 'country_code', 'phone', 'is_active', 'country_name', 'image')
def update(self, instance, validated_data):
instance.user.email = self.context.get('email', instance.user.email)
instance.user.save()
instance.country_code = validated_data.get('country_code', instance.country_code)
instance.phone = validated_data.get('phone', instance.phone)
instance.save()
return instance
@staticmethod
def get_name(obj):
@ -98,22 +105,21 @@ class GuardianSerializer(serializers.ModelSerializer):
"""
return f"{obj.user.first_name} {obj.user.last_name}" if obj.user.last_name else obj.user.first_name
@staticmethod
def get_phone_number(obj):
"""
:param obj: user object
:return: user phone number
"""
return f"+{obj.country_code}{obj.phone}" if obj.country_code and obj.phone else obj.phone
class JuniorSerializer(serializers.ModelSerializer):
name = serializers.SerializerMethodField()
phone_number = serializers.SerializerMethodField()
class Meta:
model = Junior
fields = ('id', 'name', 'dob', 'gender', 'phone_number', 'is_active', 'country_name', 'image')
fields = ('id', 'name', 'dob', 'gender', 'country_code', 'phone', 'is_active', 'country_name', 'image')
def update(self, instance, validated_data):
instance.auth.email = self.context.get('email', instance.auth.email)
instance.auth.save()
instance.country_code = validated_data.get('country_code', instance.country_code)
instance.phone = validated_data.get('phone', instance.phone)
instance.save()
return instance
@staticmethod
def get_name(obj):
@ -123,14 +129,6 @@ class JuniorSerializer(serializers.ModelSerializer):
"""
return f"{obj.auth.first_name} {obj.auth.last_name}" if obj.auth.last_name else obj.auth.first_name
@staticmethod
def get_phone_number(obj):
"""
:param obj: user object
:return: user phone number
"""
return f"+{obj.country_code}{obj.phone}" if obj.country_code and obj.phone else obj.phone
class UserManagementDetailSerializer(serializers.ModelSerializer):
user_type = serializers.SerializerMethodField()