add party detail api
This commit is contained in:
@@ -76,7 +76,7 @@ class PartyAmountSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class PartyListSerializer(serializers.ModelSerializer):
|
||||
class PartyDetailSerializer(serializers.ModelSerializer):
|
||||
orders = OrderListSerializer(many=True)
|
||||
party_amount = PartyAmountSerializer()
|
||||
|
||||
@@ -87,3 +87,15 @@ class PartyListSerializer(serializers.ModelSerializer):
|
||||
'payment_status', 'process', 'confirmation', 'comment', 'audit', 'audit_comment',
|
||||
'orders', 'party_amount'
|
||||
]
|
||||
|
||||
|
||||
class PartyListSerializer(serializers.ModelSerializer):
|
||||
party_amount = PartyAmountSerializer()
|
||||
|
||||
class Meta:
|
||||
model = Party
|
||||
fields = [
|
||||
'id','number', 'delivery_date', 'closed_date', 'order_date', 'payment_date', 'status',
|
||||
'payment_status', 'process', 'confirmation', 'comment', 'audit', 'audit_comment',
|
||||
'party_amount'
|
||||
]
|
||||
@@ -29,6 +29,7 @@ urlpatterns = [
|
||||
[
|
||||
path('create/', party_views.PartyCreateApiView.as_view()),
|
||||
path('list/', party_views.PartyListApiView.as_view()),
|
||||
path('<uuid:id>/', party_views.PartyDetailApiView.as_view()),
|
||||
]
|
||||
)),
|
||||
]
|
||||
@@ -31,7 +31,7 @@ class PartyCreateApiView(generics.GenericAPIView):
|
||||
|
||||
class PartyListApiView(generics.GenericAPIView):
|
||||
serializer_class = serializers.PartyListSerializer
|
||||
queryset = Party.objects.select_related('party_amount').prefetch_related('orders')
|
||||
queryset = Party.objects.select_related('party_amount')
|
||||
permission_classes = [HasRolePermission]
|
||||
required_permissions = []
|
||||
filter_backends = [DjangoFilterBackend]
|
||||
@@ -45,3 +45,17 @@ class PartyListApiView(generics.GenericAPIView):
|
||||
return self.get_paginated_response(serializer.data)
|
||||
serializer = self.serializer_class(parties, many=True)
|
||||
return Response(serializer.data, status=200)
|
||||
|
||||
|
||||
class PartyDetailApiView(generics.GenericAPIView):
|
||||
permission_classes = [HasRolePermission]
|
||||
required_permissions = []
|
||||
serializer_class = serializers.PartyDetailSerializer
|
||||
queryset = Party.objects.select_related('party_amount').prefetch_related('orders')
|
||||
|
||||
def get(self, request, id):
|
||||
party = Party.objects.select_related('party_amount').prefetch_related('orders').filter(id=id).first()
|
||||
if not party:
|
||||
return Response({'success': False, 'message': 'party not found'}, status=404)
|
||||
serializer = self.serializer_class(party)
|
||||
return Response(serializer.data, status=200)
|
||||
Reference in New Issue
Block a user