增加工单列表接口状态允许撤回字段
This commit is contained in:
parent
bbf5b2cbc9
commit
98a07bb27a
|
@ -23,7 +23,7 @@ class WorkflowSimpleSerializer(serializers.ModelSerializer):
|
||||||
class StateSimpleSerializer(serializers.ModelSerializer):
|
class StateSimpleSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = State
|
model = State
|
||||||
fields = ['id', 'name', 'type', 'distribute_type']
|
fields = ['id', 'name', 'type', 'distribute_type', 'enable_retreat']
|
||||||
|
|
||||||
class TransitionSerializer(serializers.ModelSerializer):
|
class TransitionSerializer(serializers.ModelSerializer):
|
||||||
source_state_ = StateSimpleSerializer(source='source_state', read_only=True)
|
source_state_ = StateSimpleSerializer(source='source_state', read_only=True)
|
||||||
|
|
|
@ -292,7 +292,21 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
|
||||||
"""
|
"""
|
||||||
撤回工单,允许创建人在指定状态撤回工单至初始状态,状态设置中开启允许撤回
|
撤回工单,允许创建人在指定状态撤回工单至初始状态,状态设置中开启允许撤回
|
||||||
"""
|
"""
|
||||||
pass
|
ticket = self.get_object()
|
||||||
|
if ticket.create_by != request.user:
|
||||||
|
raise APIException('非创建人不可撤单')
|
||||||
|
if not ticket.state.enable_retreat:
|
||||||
|
raise APIException('该状态不可撤单')
|
||||||
|
start_state = WfService.get_workflow_start_state(ticket.workflow)
|
||||||
|
ticket.state = start_state
|
||||||
|
ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL
|
||||||
|
ticket.participant = request.user
|
||||||
|
ticket.act_state = Ticket.TICKET_ACT_STATE_RETREAT
|
||||||
|
ticket.save()
|
||||||
|
# 更新流转记录
|
||||||
|
TicketFlow.objects.create(ticket=ticket, state=ticket.state, ticket_data=WfService.get_ticket_all_field_value(ticket),
|
||||||
|
suggestion='撤单', participant_type=State.PARTICIPANT_TYPE_PERSONAL,
|
||||||
|
participant=request.user, transition=None)
|
||||||
|
|
||||||
class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
|
class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue