工单关闭接口bug

This commit is contained in:
caoqianming 2021-10-13 14:26:09 +08:00
parent 4913162ff8
commit 660ef8ec11
2 changed files with 14 additions and 4 deletions

View File

@ -57,7 +57,6 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
class ResourceViewSet(GenericViewSet): class ResourceViewSet(GenericViewSet):
perms_map = {'*': '*'} perms_map = {'*': '*'}
@action(methods=['post'], detail=False, perms_map={'get':'*'}, serializer_class=ResourceCalListSerializer) @action(methods=['post'], detail=False, perms_map={'get':'*'}, serializer_class=ResourceCalListSerializer)
def cal(self, request, pk=None): def cal(self, request, pk=None):
""" """

View File

@ -1,3 +1,4 @@
from apps.system.models import User
from apps.wf.filters import TicketFilterSet from apps.wf.filters import TicketFilterSet
from django.core.exceptions import AppRegistryNotReady from django.core.exceptions import AppRegistryNotReady
from rest_framework.response import Response from rest_framework.response import Response
@ -11,6 +12,7 @@ from apps.wf.models import CustomField, Ticket, Workflow, State, Transition, Tic
from apps.system.mixins import CreateUpdateCustomMixin, CreateUpdateModelAMixin, OptimizationMixin from apps.system.mixins import CreateUpdateCustomMixin, CreateUpdateModelAMixin, OptimizationMixin
from apps.wf.services import WfService from apps.wf.services import WfService
from rest_framework.exceptions import APIException, PermissionDenied from rest_framework.exceptions import APIException, PermissionDenied
from rest_framework import status
# Create your views here. # Create your views here.
class WorkflowViewSet(CreateUpdateModelAMixin, ModelViewSet): class WorkflowViewSet(CreateUpdateModelAMixin, ModelViewSet):
@ -317,6 +319,14 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
""" """
加签 加签
""" """
ticket = self.get_object()
# data = request.data
# add_user = User.objects.get(pk=data[])
# ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL
# ticket.participant = None
# ticket.act_state = Ticket.TICKET_ACT_STATE_CLOSED
# ticket.save()
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=TicketCloseSerializer) @action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=TicketCloseSerializer)
def close(self, request, pk=None): def close(self, request, pk=None):
@ -327,8 +337,8 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
if ticket.state.type == State.STATE_TYPE_START and ticket.create_by==request.user: if ticket.state.type == State.STATE_TYPE_START and ticket.create_by==request.user:
end_state = WfService.get_workflow_end_state(ticket.workflow) end_state = WfService.get_workflow_end_state(ticket.workflow)
ticket.state = end_state ticket.state = end_state
ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL ticket.participant_type = 0
ticket.participant = request.user.id ticket.participant = None
ticket.act_state = Ticket.TICKET_ACT_STATE_CLOSED ticket.act_state = Ticket.TICKET_ACT_STATE_CLOSED
ticket.save() ticket.save()
# 更新流转记录 # 更新流转记录
@ -336,8 +346,9 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
TicketFlow.objects.create(ticket=ticket, state=ticket.state, ticket_data=WfService.get_ticket_all_field_value(ticket), TicketFlow.objects.create(ticket=ticket, state=ticket.state, ticket_data=WfService.get_ticket_all_field_value(ticket),
suggestion=suggestion, participant_type=State.PARTICIPANT_TYPE_PERSONAL, intervene_type=Transition.TRANSITION_INTERVENE_TYPE_CLOSE, suggestion=suggestion, participant_type=State.PARTICIPANT_TYPE_PERSONAL, intervene_type=Transition.TRANSITION_INTERVENE_TYPE_CLOSE,
participant=request.user, transition=None) participant=request.user, transition=None)
return Response()
else: else:
raise APIException('工单不可关闭') return Response('工单不可关闭', status=status.HTTP_400_BAD_REQUEST)
class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet): class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):