csv excel export api

This commit is contained in:
abutalib-kiwi
2023-08-16 17:15:12 +05:30
parent 4bc16c56bd
commit 043c8c2f63
4 changed files with 48 additions and 96 deletions

View File

@ -1,13 +1,16 @@
"""
web_admin analytics serializer file
"""
# third party imports
from rest_framework import serializers
# django imports
from django.contrib.auth import get_user_model
# local imports
from base.constants import USER_TYPE
from junior.models import JuniorPoints, Junior
from web_admin.serializers.user_management_serializer import JuniorSerializer, GuardianSerializer
USER = get_user_model()
@ -74,6 +77,7 @@ class UserCSVReportSerializer(serializers.ModelSerializer):
phone_number = serializers.SerializerMethodField()
user_type = serializers.SerializerMethodField()
is_active = serializers.SerializerMethodField()
date_joined = serializers.SerializerMethodField()
class Meta:
"""
@ -104,9 +108,9 @@ class UserCSVReportSerializer(serializers.ModelSerializer):
:return: user type
"""
if obj.guardian_profile.all().first():
return dict(USER_TYPE).get('2')
return dict(USER_TYPE).get('2').capitalize()
elif obj.junior_profile.all().first():
return dict(USER_TYPE).get('1')
return dict(USER_TYPE).get('1').capitalize()
else:
return None
@ -120,3 +124,12 @@ class UserCSVReportSerializer(serializers.ModelSerializer):
return "Active" if profile.is_active else "Inactive"
elif profile := obj.junior_profile.all().first():
return "Active" if profile.is_active else "Inactive"
@staticmethod
def get_date_joined(obj):
"""
:param obj: user obj
:return: formatted date
"""
date = obj.date_joined.strftime("%d %b %Y")
return date