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): def update(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
if obj.state != Rpj.RPJ_CREATE: ticket = obj.ticket
raise ParseError('项目非创建状态不可更改') if ticket and ticket.state.type != 1:
raise ParseError('项目工单审批中不可更改')
return super().update(request, *args, **kwargs) return super().update(request, *args, **kwargs)
@transaction.atomic @transaction.atomic
@ -237,7 +238,8 @@ class RpjmemberViewSet(CustomModelViewSet):
def destroy(self, request, *args, **kwargs): def destroy(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
if obj.rpj.state != Rpj.RPJ_CREATE: ticket = obj.rpj.ticket
if ticket and ticket.state.type != 1:
raise ParseError('成员在该状态不可删除') raise ParseError('成员在该状态不可删除')
return super().destroy(request, *args, **kwargs) return super().destroy(request, *args, **kwargs)
@ -280,14 +282,16 @@ class RpjfileViewSet(UpdateModelMixin, DestroyModelMixin, ListModelMixin, Custom
def update(self, request, *args, **kwargs): def update(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
if obj.rpj.state != Rpj.RPJ_CREATE: ticket = obj.rpj.ticket
raise ParseError('项目非创建状态不可修改') if ticket and ticket.state.type != 1:
raise ParseError('项目工单审批中不可更改')
return super().update(request, *args, **kwargs) return super().update(request, *args, **kwargs)
def destroy(self, request, *args, **kwargs): def destroy(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
if obj.rpj.state != Rpj.RPJ_CREATE: ticket = obj.rpj.ticket
raise ParseError('项目非创建状态不可删除') if ticket and ticket.state.type != 1:
raise ParseError('项目工单审批中不可删除')
return super().destroy(request, *args, **kwargs) return super().destroy(request, *args, **kwargs)

View File

@ -47,8 +47,9 @@ class VisitViewSet(CustomModelViewSet):
def update(self, request, *args, **kwargs): def update(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
if obj.state != Visit.V_CREATE: ticket = obj.ticket
raise ParseError('项目非创建状态不可更改') if ticket and ticket.state.type != 1:
raise ParseError('项目在该状态不可更改')
return super().update(request, *args, **kwargs) return super().update(request, *args, **kwargs)
@transaction.atomic @transaction.atomic
@ -142,6 +143,7 @@ class VpeopleViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Destr
def destroy(self, request, *args, **kwargs): def destroy(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
if obj.visit.state != Visit.V_CREATE: ticket = obj.visit.ticket
raise ParseError('项目非创建状态不可新增成员') if ticket and ticket.state.type != 1:
raise ParseError('项目在该状态不可新增成员')
return super().destroy(request, *args, **kwargs) return super().destroy(request, *args, **kwargs)