mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-15 18:07:02 +00:00
changes in edit api, included first name, last name and username
This commit is contained in:
@ -97,14 +97,18 @@ class GuardianSerializer(serializers.ModelSerializer):
|
|||||||
guardian serializer
|
guardian serializer
|
||||||
"""
|
"""
|
||||||
name = serializers.SerializerMethodField()
|
name = serializers.SerializerMethodField()
|
||||||
email = serializers.CharField(required=False)
|
first_name = serializers.SerializerMethodField()
|
||||||
|
last_name = serializers.SerializerMethodField()
|
||||||
|
username = serializers.SerializerMethodField()
|
||||||
|
email = serializers.EmailField(required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""
|
"""
|
||||||
meta class
|
meta class
|
||||||
"""
|
"""
|
||||||
model = Guardian
|
model = Guardian
|
||||||
fields = ('id', 'name', 'dob', 'gender', 'country_code', 'phone', 'is_active', 'country_name', 'image', 'email')
|
fields = ('id', 'name', 'first_name', 'last_name', 'username', 'dob', 'gender', 'country_code', 'phone',
|
||||||
|
'is_active', 'country_name', 'image', 'email')
|
||||||
|
|
||||||
def validate(self, attrs):
|
def validate(self, attrs):
|
||||||
"""
|
"""
|
||||||
@ -137,25 +141,53 @@ class GuardianSerializer(serializers.ModelSerializer):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def get_name(obj):
|
def get_name(obj):
|
||||||
"""
|
"""
|
||||||
:param obj: user object
|
:param obj: guardian object
|
||||||
:return: full name
|
:return: full name
|
||||||
"""
|
"""
|
||||||
return f"{obj.user.first_name} {obj.user.last_name}" if obj.user.last_name else obj.user.first_name
|
return f"{obj.user.first_name} {obj.user.last_name}" if obj.user.last_name else obj.user.first_name
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_first_name(obj):
|
||||||
|
"""
|
||||||
|
:param obj: guardian object
|
||||||
|
:return: first name
|
||||||
|
"""
|
||||||
|
return obj.user.first_name
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_last_name(obj):
|
||||||
|
"""
|
||||||
|
:param obj: guardian object
|
||||||
|
:return: last name
|
||||||
|
"""
|
||||||
|
return obj.user.last_name
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_username(obj):
|
||||||
|
"""
|
||||||
|
:param obj: guardian object
|
||||||
|
:return: email
|
||||||
|
"""
|
||||||
|
return obj.user.username
|
||||||
|
|
||||||
|
|
||||||
class JuniorSerializer(serializers.ModelSerializer):
|
class JuniorSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
junior serializer
|
junior serializer
|
||||||
"""
|
"""
|
||||||
name = serializers.SerializerMethodField()
|
name = serializers.SerializerMethodField()
|
||||||
email = serializers.CharField(required=False)
|
first_name = serializers.SerializerMethodField()
|
||||||
|
last_name = serializers.SerializerMethodField()
|
||||||
|
username = serializers.SerializerMethodField()
|
||||||
|
email = serializers.EmailField(required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""
|
"""
|
||||||
meta class
|
meta class
|
||||||
"""
|
"""
|
||||||
model = Junior
|
model = Junior
|
||||||
fields = ('id', 'name', 'dob', 'gender', 'country_code', 'phone', 'is_active', 'country_name', 'image', 'email')
|
fields = ('id', 'name', 'first_name', 'last_name', 'username', 'dob', 'gender', 'country_code', 'phone',
|
||||||
|
'is_active', 'country_name', 'image', 'email')
|
||||||
|
|
||||||
def validate(self, attrs):
|
def validate(self, attrs):
|
||||||
"""
|
"""
|
||||||
@ -187,11 +219,35 @@ class JuniorSerializer(serializers.ModelSerializer):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def get_name(obj):
|
def get_name(obj):
|
||||||
"""
|
"""
|
||||||
:param obj: user object
|
:param obj: junior object
|
||||||
:return: full name
|
:return: full name
|
||||||
"""
|
"""
|
||||||
return f"{obj.auth.first_name} {obj.auth.last_name}" if obj.auth.last_name else obj.auth.first_name
|
return f"{obj.auth.first_name} {obj.auth.last_name}" if obj.auth.last_name else obj.auth.first_name
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_first_name(obj):
|
||||||
|
"""
|
||||||
|
:param obj: junior object
|
||||||
|
:return: first name
|
||||||
|
"""
|
||||||
|
return obj.auth.first_name
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_last_name(obj):
|
||||||
|
"""
|
||||||
|
:param obj: junior object
|
||||||
|
:return: last name
|
||||||
|
"""
|
||||||
|
return obj.auth.last_name
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_username(obj):
|
||||||
|
"""
|
||||||
|
:param obj: junior object
|
||||||
|
:return: email
|
||||||
|
"""
|
||||||
|
return obj.auth.username
|
||||||
|
|
||||||
|
|
||||||
class UserManagementDetailSerializer(serializers.ModelSerializer):
|
class UserManagementDetailSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
@ -229,10 +285,14 @@ class UserManagementDetailSerializer(serializers.ModelSerializer):
|
|||||||
:return: associated user
|
:return: associated user
|
||||||
"""
|
"""
|
||||||
if profile := obj.guardian_profile.all().first():
|
if profile := obj.guardian_profile.all().first():
|
||||||
junior = Junior.objects.filter(guardian_code__contains=[profile.guardian_code], is_verified=True)
|
if profile.guardian_code:
|
||||||
serializer = JuniorSerializer(junior, many=True)
|
junior = Junior.objects.filter(guardian_code__contains=[profile.guardian_code], is_verified=True)
|
||||||
return serializer.data
|
serializer = JuniorSerializer(junior, many=True)
|
||||||
|
return serializer.data
|
||||||
elif profile := obj.junior_profile.all().first():
|
elif profile := obj.junior_profile.all().first():
|
||||||
guardian = Guardian.objects.filter(guardian_code__in=profile.guardian_code, is_verified=True)
|
if profile.guardian_code:
|
||||||
serializer = GuardianSerializer(guardian, many=True)
|
guardian = Guardian.objects.filter(guardian_code__in=profile.guardian_code, is_verified=True)
|
||||||
return serializer.data
|
serializer = GuardianSerializer(guardian, many=True)
|
||||||
|
return serializer.data
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
Reference in New Issue
Block a user