add remove api

This commit is contained in:
behruz-dev
2025-08-23 13:09:42 +05:00
parent e62357d132
commit 079753f384
3 changed files with 28 additions and 4 deletions

View File

@@ -5,4 +5,4 @@ from core.apps.orders.models import Order
@admin.register(Order) @admin.register(Order)
class OrderAdmin(admin.ModelAdmin): class OrderAdmin(admin.ModelAdmin):
list_display = ['unity', 'project', 'wherehouse', 'currency'] list_display = ['id', 'product', 'wherehouse', 'currency']

View File

@@ -33,6 +33,9 @@ urlpatterns = [
path('<uuid:party_id>/delete/', party_views.PartyDeleteApiView.as_view()), path('<uuid:party_id>/delete/', party_views.PartyDeleteApiView.as_view()),
path('deleted_pary/list/', party_views.DeletedPartyListApiView.as_view()), path('deleted_pary/list/', party_views.DeletedPartyListApiView.as_view()),
path('<uuid:id>/update/', party_views.PartyUpdateApiView.as_view()), path('<uuid:id>/update/', party_views.PartyUpdateApiView.as_view()),
path(
'<uuid:party_id>/order/<uuid:order_id>/remove/', party_views.OrderDeleteToPartyApiView.as_view()
),
] ]
)), )),
] ]

View File

@@ -7,7 +7,7 @@ from django_filters.rest_framework.backends import DjangoFilterBackend
from core.apps.accounts.permissions.permissions import HasRolePermission from core.apps.accounts.permissions.permissions import HasRolePermission
from core.apps.orders.serializers import party as serializers from core.apps.orders.serializers import party as serializers
from core.apps.orders.models import Party, PartyAmount, DeletedParty from core.apps.orders.models import Party, PartyAmount, DeletedParty, Order
from core.apps.orders.filters.party import PartyFilter from core.apps.orders.filters.party import PartyFilter
@@ -101,7 +101,7 @@ class DeletedPartyListApiView(generics.GenericAPIView):
class PartyUpdateApiView(generics.GenericAPIView): class PartyUpdateApiView(generics.GenericAPIView):
serializer_class = serializers.PartyUpdateSerializer serializer_class = serializers.PartyUpdateSerializer
queryset = Party.objects.all() queryset = Party.objects.all()
pagination_class = [HasRolePermission] permission_classes = [HasRolePermission]
required_permissions = ['party'] required_permissions = ['party']
pagination_class = None pagination_class = None
@@ -113,4 +113,25 @@ class PartyUpdateApiView(generics.GenericAPIView):
return Response({ return Response({
'success': True, 'message': 'update', 'success': True, 'message': 'update',
}, status=200) }, status=200)
return Response({'success': False, 'error': serializer.errors}, status=400) return Response({'success': False, 'error': serializer.errors}, status=400)
class OrderDeleteToPartyApiView(generics.GenericAPIView):
serializer_class = None
permission_classes = [HasRolePermission]
required_permissions = ['party']
queryset = None
def delete(self, request, party_id, order_id):
party = get_object_or_404(Party, id=party_id)
order = party.orders.filter(id=order_id).first()
if not order:
return Response(
{'success': False, 'error_message': 'Order does not belong to the party'},
status=400
)
party.orders.remove(order)
return Response({'success': True, 'message': 'Order removed from party'}, status=200)