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)
|
orders = OrderListSerializer(many=True)
|
||||||
party_amount = PartyAmountSerializer()
|
party_amount = PartyAmountSerializer()
|
||||||
|
|
||||||
@@ -87,3 +87,15 @@ class PartyListSerializer(serializers.ModelSerializer):
|
|||||||
'payment_status', 'process', 'confirmation', 'comment', 'audit', 'audit_comment',
|
'payment_status', 'process', 'confirmation', 'comment', 'audit', 'audit_comment',
|
||||||
'orders', 'party_amount'
|
'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('create/', party_views.PartyCreateApiView.as_view()),
|
||||||
path('list/', party_views.PartyListApiView.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):
|
class PartyListApiView(generics.GenericAPIView):
|
||||||
serializer_class = serializers.PartyListSerializer
|
serializer_class = serializers.PartyListSerializer
|
||||||
queryset = Party.objects.select_related('party_amount').prefetch_related('orders')
|
queryset = Party.objects.select_related('party_amount')
|
||||||
permission_classes = [HasRolePermission]
|
permission_classes = [HasRolePermission]
|
||||||
required_permissions = []
|
required_permissions = []
|
||||||
filter_backends = [DjangoFilterBackend]
|
filter_backends = [DjangoFilterBackend]
|
||||||
@@ -45,3 +45,17 @@ class PartyListApiView(generics.GenericAPIView):
|
|||||||
return self.get_paginated_response(serializer.data)
|
return self.get_paginated_response(serializer.data)
|
||||||
serializer = self.serializer_class(parties, many=True)
|
serializer = self.serializer_class(parties, many=True)
|
||||||
return Response(serializer.data, status=200)
|
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