加签操作
This commit is contained in:
parent
ecd4192109
commit
961754d8ca
|
|
@ -23,6 +23,7 @@ class EquipmentSerializer(ModelSerializer):
|
||||||
def get_step_(self, obj):
|
def get_step_(self, obj):
|
||||||
return Step.objects.filter(equipments=obj).values('id', 'name', 'number')
|
return Step.objects.filter(equipments=obj).values('id', 'name', 'number')
|
||||||
|
|
||||||
|
|
||||||
class EquipmentSimpleSerializer(ModelSerializer):
|
class EquipmentSimpleSerializer(ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Equipment
|
model = Equipment
|
||||||
|
|
|
||||||
|
|
@ -133,3 +133,7 @@ class TicketRetreatSerializer(serializers.Serializer):
|
||||||
|
|
||||||
class TicketCloseSerializer(serializers.Serializer):
|
class TicketCloseSerializer(serializers.Serializer):
|
||||||
suggestion = serializers.CharField(label="关闭原因", required = False)
|
suggestion = serializers.CharField(label="关闭原因", required = False)
|
||||||
|
|
||||||
|
class TicketAddNodeSerializer(serializers.Serializer):
|
||||||
|
suggestion = serializers.CharField(label="加签说明", required = False)
|
||||||
|
user = serializers.IntegerField(label='加签人')
|
||||||
|
|
@ -4,7 +4,7 @@ from django.core.exceptions import AppRegistryNotReady
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin, UpdateModelMixin
|
from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin, UpdateModelMixin
|
||||||
from apps.wf.serializers import CustomFieldSerializer, StateSerializer, TicketCloseSerializer, TicketCreateSerializer, TicketFlowSerializer, TicketFlowSimpleSerializer, TicketHandleSerializer, TicketRetreatSerializer, TicketSerializer, TransitionSerializer, WorkflowSerializer, TicketListSerializer, TicketDetailSerializer
|
from apps.wf.serializers import CustomFieldSerializer, StateSerializer, TicketAddNodeSerializer, TicketCloseSerializer, TicketCreateSerializer, TicketFlowSerializer, TicketFlowSimpleSerializer, TicketHandleSerializer, TicketRetreatSerializer, TicketSerializer, TransitionSerializer, WorkflowSerializer, TicketListSerializer, TicketDetailSerializer
|
||||||
from django.shortcuts import get_object_or_404, render
|
from django.shortcuts import get_object_or_404, render
|
||||||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||||
from rest_framework.decorators import action, api_view
|
from rest_framework.decorators import action, api_view
|
||||||
|
|
@ -314,18 +314,25 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
|
||||||
participant=request.user, transition=None)
|
participant=request.user, transition=None)
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
@action(methods=['post'], detail=True, perms_map={'post':'*'})
|
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=TicketAddNodeSerializer)
|
||||||
def add_node(self, request, pk=None):
|
def add_node(self, request, pk=None):
|
||||||
"""
|
"""
|
||||||
加签
|
加签
|
||||||
"""
|
"""
|
||||||
ticket = self.get_object()
|
ticket = self.get_object()
|
||||||
data = request.data
|
data = request.data
|
||||||
# add_user = User.objects.get(pk=data[])
|
add_user = User.objects.get(pk=data['user'])
|
||||||
# ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL
|
ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL
|
||||||
# ticket.participant = None
|
ticket.participant = add_user.id
|
||||||
# ticket.act_state = Ticket.TICKET_ACT_STATE_CLOSED
|
ticket.in_add_node = True
|
||||||
# ticket.save()
|
ticket.add_node_man = add_user
|
||||||
|
ticket.save()
|
||||||
|
# 更新流转记录
|
||||||
|
suggestion = request.data.get('suggestion', '') # 加签说明
|
||||||
|
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_ADD_NODE,
|
||||||
|
participant=request.user, transition=None)
|
||||||
|
return Response()
|
||||||
|
|
||||||
|
|
||||||
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=TicketCloseSerializer)
|
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=TicketCloseSerializer)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue