small changes

This commit is contained in:
javad committed 2024-02-07 10:40:45 +03:30
1 parent e983e0cc43
commit f7dbd02a6c
36 files changed
+704 -16

No files matched your search

+74
View File
@@ -11,6 +11,9 @@ from rest_framework import generics
from apps.customer.models import Customer as CustomerModel
from rest_framework.permissions import IsAuthenticated
from utils import custom_permissions
from utils.tools import inline_serializer
from io import BytesIO
class OrderCreateApi(APIView):
@@ -150,3 +153,74 @@ class OrderListApi(generics.ListAPIView):
return list_order(cuser_role_uuid=cuser_role_uuid, workspace_uuid=user_workspace_uuid)
class OrderListOperatorApi(generics.ListAPIView):
class OutputSerializer(serializers.ModelSerializer):
customer = inline_serializer(fields={
'id': serializers.IntegerField(),
'name_family': serializers.CharField(),
})
class Meta:
model = OrderModel
exclude = ('sys_ws', )
serializer_class = OutputSerializer
def get_queryset(self):
return list_order_operators(self.request)
class OrderRetrieveOperatorApi(APIView):
class OutputSerializer(serializers.ModelSerializer):
customer = inline_serializer(fields={
'id': serializers.IntegerField(),
'name_family': serializers.CharField(),
})
order_item = inline_serializer(many=True, fields={
'id': serializers.IntegerField(),
'product': inline_serializer(fields={
'id': serializers.IntegerField(),
'name': serializers.CharField(),
'category': inline_serializer(fields={
'id': serializers.IntegerField(),
'name': serializers.CharField(),
})
}),
'product_name': serializers.CharField(),
'price': serializers.IntegerField(),
'amount': serializers.IntegerField(),
})
class Meta:
model = OrderModel
exclude = ('sys_ws', )
serializer_class = OutputSerializer
def get(self, request, order_id):
order = retrieve_order_operators(request, order_id=order_id)
output = self.OutputSerializer(order)
return Response(data=output.data, status=status.HTTP_200_OK)
class OrderRetrieveOperatorExcelApi(APIView):
def get(self, request, order_id):
order_df = retrieve_order_item_excel(request=request, order_id=order_id)
excel_file = BytesIO()
order_df.to_excel(excel_file, engine='xlsxwriter', index=False)
excel_file.seek(0)
response = HttpResponse(excel_file.read(), content_type='application/ms-excel')
response['Content-Disposition'] = 'attachment; filename="output.xlsx"'
return response