diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py index 4fa8a11..d9c586b 100644 --- a/hb_server/apps/wf/views.py +++ b/hb_server/apps/wf/views.py @@ -144,22 +144,19 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin serializer.is_valid(raise_exception=True) vdata = serializer.validated_data #校验之后的数据 start_state = WfService.get_workflow_start_state(vdata['workflow']) - field_key_list = WfService.get_workflow_custom_fields_list(vdata['workflow']) transition = vdata['transition'] ticket_data = vdata['ticket_data'] + save_ticket_data = {} #校验必填项 if transition.field_require_check: for key, value in start_state.state_fields.items(): if value == State.STATE_FIELD_REQUIRED: if key not in ticket_data or not ticket_data[key]: raise APIException('字段{}必填'.format(key)) - save_ticket_data = {} - # 只保存必填项以及可选项 - for key, value in ticket_data.items(): - if key in field_key_list and key in start_state.state_fields and start_state.state_fields[key] in [ - State.STATE_FIELD_REQUIRED, State.STATE_FIELD_OPTIONAL]: - save_ticket_data[key] = value + save_ticket_data[key] = ticket_data[key] + elif value == State.STATE_FIELD_OPTIONAL: + save_ticket_data[key] = ticket_data[key] ticket = serializer.save(state=start_state, create_by=request.user, @@ -232,7 +229,6 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin raise APIException('工单不存在') data = request.data result = WfService.ticket_handle_permission_check(ticket, request.user) - field_key_list = WfService.get_workflow_custom_fields_list(ticket.workflow) source_state = ticket.state source_ticket_data = ticket.ticket_data if result.get('permission') is False: