fix: rpj visit 在工单初始状态时可以编辑

This commit is contained in:
caoqianming 2023-06-22 01:07:24 +08:00
parent b2cfdf9995
commit a9825f5ad4
2 changed files with 17 additions and 11 deletions

View File

@ -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)

View File

@ -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)