diff --git a/apps/wf/views.py b/apps/wf/views.py index 4263c3ef..8742c47e 100755 --- a/apps/wf/views.py +++ b/apps/wf/views.py @@ -420,8 +420,10 @@ class TicketViewSet(CreateUpdateCustomMixin, CreateModelMixin, ListModelMixin, R """ 加签 """ - ticket = self.get_object() data = request.data + sr = TicketAddNodeSerializer(data=data) + sr.is_valid(raise_exception=True) + ticket = self.get_object() add_user = User.objects.get(pk=data['toadd_user']) ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL ticket.participant = add_user.id @@ -443,6 +445,10 @@ class TicketViewSet(CreateUpdateCustomMixin, CreateModelMixin, ListModelMixin, R 加签完成 """ ticket = self.get_object() + if ticket.in_add_node is False: + raise ParseError('该工单不在加签状态中') + elif ticket.participant != request.user.id: + raise ParseError('非当前加签人') ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL ticket.in_add_node = False ticket.participant = ticket.add_node_man.id