small changes
This commit is contained in:
1 parent
e983e0cc43
commit
f7dbd02a6c
36 files changed
+704
-16
No files matched your search
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user