1
0
forked from erp-dev/erp

feat: salesitem delete guard service

This commit is contained in:
2026-04-06 15:04:22 +08:00
parent 9afbb73799
commit ebd687ccdd
5 changed files with 91 additions and 19 deletions

View File

@@ -984,11 +984,11 @@ class SalesItemDetailView(GenericAPIView):
serializer_class = SalesItemDetailSerializer
def get_queryset(self):
from shipment.models import SalesItem
from shipment.services import get_active_sales_items_queryset
qs = (
SalesItem.objects.select_related("shipment", "created_by", "delete_by")
.filter(delete_at__isnull=True)
get_active_sales_items_queryset()
.select_related("shipment", "created_by", "delete_by")
.order_by("id")
)
@@ -1074,5 +1074,8 @@ class SalesItemDetailView(GenericAPIView):
from shipment.services import delete_sales_item
delete_sales_item(sales_item, deleted_by=request.user)
try:
delete_sales_item(sales_item, deleted_by=request.user)
except ValueError as e:
return Response({"detail": str(e)}, status=status.HTTP_400_BAD_REQUEST)
return Response({"detail": "销售品已标记为删除"}, status=status.HTTP_200_OK)