From 22412d0be184c41d7438d87a80a0c6972640da6c Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 27 Oct 2022 17:39:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=96=B9/=E8=AE=BF=E5=AE=A2?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=8F=AF=E8=BF=9B=E8=A1=8C=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rpm/views.py | 6 ++++-- apps/vm/views.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/rpm/views.py b/apps/rpm/views.py index 77faa712..580d6e29 100644 --- a/apps/rpm/views.py +++ b/apps/rpm/views.py @@ -195,8 +195,10 @@ class RpjViewSet(CustomModelViewSet): def destroy(self, request, *args, **kwargs): obj = self.get_object() - if obj.state != Rpj.RPJ_CREATE: - raise ParseError('项目非创建状态不可删除') + if obj.state in [Rpj.RPJ_ENTER, Rpj.RPJ_DONE]: + raise ParseError('该项目不可删除') + elif obj.state == Rpj.RPJ_WORKING and Remployee.objects.filter(rpj=obj).exists(): + raise ParseError('该项目人员在厂不可删除') return super().destroy(request, *args, **kwargs) diff --git a/apps/vm/views.py b/apps/vm/views.py index 82a6c4e3..21678c96 100644 --- a/apps/vm/views.py +++ b/apps/vm/views.py @@ -52,8 +52,10 @@ class VisitViewSet(CustomModelViewSet): def destroy(self, request, *args, **kwargs): obj = self.get_object() - if obj.state != Visit.V_CREATE: - raise ParseError('项目非创建状态不可删除') + if obj.state in [Visit.V_ENTER, Visit.V_DONE]: + raise ParseError('该项目不可删除') + elif obj.state == Visit.V_WORKING and Visitor.objects.filter(visit=obj).exists(): + raise ParseError('该项目人员在厂不可删除') return super().destroy(request, *args, **kwargs) # @action(methods=['post'], detail=True, permission_classes=[],