diff --git a/hb_server/apps/pm/views.py b/hb_server/apps/pm/views.py index 81093ac..a31f813 100644 --- a/hb_server/apps/pm/views.py +++ b/hb_server/apps/pm/views.py @@ -57,7 +57,6 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel class ResourceViewSet(GenericViewSet): perms_map = {'*': '*'} - @action(methods=['post'], detail=False, perms_map={'get':'*'}, serializer_class=ResourceCalListSerializer) def cal(self, request, pk=None): """ diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py index bf733e6..832c35f 100644 --- a/hb_server/apps/wf/views.py +++ b/hb_server/apps/wf/views.py @@ -1,3 +1,4 @@ +from apps.system.models import User from apps.wf.filters import TicketFilterSet from django.core.exceptions import AppRegistryNotReady 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.wf.services import WfService from rest_framework.exceptions import APIException, PermissionDenied +from rest_framework import status # Create your views here. 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) 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: end_state = WfService.get_workflow_end_state(ticket.workflow) ticket.state = end_state - ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL - ticket.participant = request.user.id + ticket.participant_type = 0 + ticket.participant = None ticket.act_state = Ticket.TICKET_ACT_STATE_CLOSED 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), suggestion=suggestion, participant_type=State.PARTICIPANT_TYPE_PERSONAL, intervene_type=Transition.TRANSITION_INTERVENE_TYPE_CLOSE, participant=request.user, transition=None) + return Response() else: - raise APIException('工单不可关闭') + return Response('工单不可关闭', status=status.HTTP_400_BAD_REQUEST) class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):