From a9825f5ad4d5cb9ee14704a825546669961d2539 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 22 Jun 2023 01:07:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20rpj=20visit=20=E5=9C=A8=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=88=9D=E5=A7=8B=E7=8A=B6=E6=80=81=E6=97=B6=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rpm/views.py | 18 +++++++++++------- apps/vm/views.py | 10 ++++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/apps/rpm/views.py b/apps/rpm/views.py index 661d9cba..bff2db07 100644 --- a/apps/rpm/views.py +++ b/apps/rpm/views.py @@ -208,8 +208,9 @@ class RpjViewSet(CustomModelViewSet): def update(self, request, *args, **kwargs): obj = self.get_object() - if obj.state != Rpj.RPJ_CREATE: - raise ParseError('项目非创建状态不可更改') + ticket = obj.ticket + if ticket and ticket.state.type != 1: + raise ParseError('项目工单审批中不可更改') return super().update(request, *args, **kwargs) @transaction.atomic @@ -237,7 +238,8 @@ class RpjmemberViewSet(CustomModelViewSet): def destroy(self, request, *args, **kwargs): obj = self.get_object() - if obj.rpj.state != Rpj.RPJ_CREATE: + ticket = obj.rpj.ticket + if ticket and ticket.state.type != 1: raise ParseError('成员在该状态不可删除') return super().destroy(request, *args, **kwargs) @@ -280,14 +282,16 @@ class RpjfileViewSet(UpdateModelMixin, DestroyModelMixin, ListModelMixin, Custom def update(self, request, *args, **kwargs): obj = self.get_object() - if obj.rpj.state != Rpj.RPJ_CREATE: - raise ParseError('项目非创建状态不可修改') + ticket = obj.rpj.ticket + if ticket and ticket.state.type != 1: + raise ParseError('项目工单审批中不可更改') return super().update(request, *args, **kwargs) def destroy(self, request, *args, **kwargs): obj = self.get_object() - if obj.rpj.state != Rpj.RPJ_CREATE: - raise ParseError('项目非创建状态不可删除') + ticket = obj.rpj.ticket + if ticket and ticket.state.type != 1: + raise ParseError('项目工单审批中不可删除') return super().destroy(request, *args, **kwargs) diff --git a/apps/vm/views.py b/apps/vm/views.py index a7773a84..ab399d80 100644 --- a/apps/vm/views.py +++ b/apps/vm/views.py @@ -47,8 +47,9 @@ class VisitViewSet(CustomModelViewSet): def update(self, request, *args, **kwargs): obj = self.get_object() - if obj.state != Visit.V_CREATE: - raise ParseError('项目非创建状态不可更改') + ticket = obj.ticket + if ticket and ticket.state.type != 1: + raise ParseError('项目在该状态不可更改') return super().update(request, *args, **kwargs) @transaction.atomic @@ -142,6 +143,7 @@ class VpeopleViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Destr def destroy(self, request, *args, **kwargs): obj = self.get_object() - if obj.visit.state != Visit.V_CREATE: - raise ParseError('项目非创建状态不可新增成员') + ticket = obj.visit.ticket + if ticket and ticket.state.type != 1: + raise ParseError('项目在该状态不可新增成员') return super().destroy(request, *args, **kwargs)