Files
crmApi/apps/customer/views/form_item.py
T
2024-01-22 13:01:42 +03:30

43 lines
1.5 KiB
Python

from rest_framework.views import APIView
from apps.customer.models import ShiveAshenaei as ShiveAshenaeiModel
from apps.workspace.models import City as CityModel
from rest_framework import serializers
from utils.tools import inline_serializer
from rest_framework import status
from apps.customer.selectors import customer_form_item
from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated
from utils import custom_permissions
class CustomerFormItemApi(APIView):
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceOperatorPermission)
class OutputSerializer(serializers.Serializer):
shive_ashenaei = inline_serializer(many=True, fields={
'id': serializers.IntegerField(),
'name': serializers.CharField()
})
shahr = inline_serializer(many=True, fields={
'id': serializers.IntegerField(),
'name': serializers.CharField(),
'ostan': inline_serializer(fields={'id': serializers.IntegerField(), }),
'is_ostan': serializers.BooleanField(),
})
responsible_groups = inline_serializer(many=True, fields={
'id': serializers.IntegerField(),
'name': serializers.CharField()
})
def get(self, request):
fields_value = customer_form_item(request)
serializer = self.OutputSerializer(fields_value)
return Response(data=serializer.data, status=status.HTTP_200_OK)