相关方/访客项目可进行删除操作

This commit is contained in:
caoqianming 2022-10-27 17:39:27 +08:00
parent 55176e2cfe
commit 22412d0be1
2 changed files with 8 additions and 4 deletions

View File

@ -195,8 +195,10 @@ class RpjViewSet(CustomModelViewSet):
def destroy(self, request, *args, **kwargs): def destroy(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
if obj.state != Rpj.RPJ_CREATE: if obj.state in [Rpj.RPJ_ENTER, Rpj.RPJ_DONE]:
raise ParseError('项目非创建状态不可删除') raise ParseError('该项目不可删除')
elif obj.state == Rpj.RPJ_WORKING and Remployee.objects.filter(rpj=obj).exists():
raise ParseError('该项目人员在厂不可删除')
return super().destroy(request, *args, **kwargs) return super().destroy(request, *args, **kwargs)

View File

@ -52,8 +52,10 @@ class VisitViewSet(CustomModelViewSet):
def destroy(self, request, *args, **kwargs): def destroy(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
if obj.state != Visit.V_CREATE: if obj.state in [Visit.V_ENTER, Visit.V_DONE]:
raise ParseError('项目非创建状态不可删除') raise ParseError('该项目不可删除')
elif obj.state == Visit.V_WORKING and Visitor.objects.filter(visit=obj).exists():
raise ParseError('该项目人员在厂不可删除')
return super().destroy(request, *args, **kwargs) return super().destroy(request, *args, **kwargs)
# @action(methods=['post'], detail=True, permission_classes=[], # @action(methods=['post'], detail=True, permission_classes=[],