Exemple #1
0
def create_lessons_make_sub_ticket():
    last_user, msg = TicketBaseService.get_ticket_state_last_man(ticket_id, 19)

    # workflow_id-子工单的对应的workflow transition_id-子工单对应的流转id
    # parent_ticket_state_id-父工单对应的状态id
    ticket_dict = dict(workflow_id=8, transition_id=21, username=last_user, parent_ticket_id=ticket_id,
                       parent_ticket_state_id=21, title='create by script - sub workflow demo1')
    TicketBaseService.new_ticket(ticket_dict, 'shutongflow')


    ticket_dict = dict(workflow_id=9, transition_id=23, username=last_user, parent_ticket_id=ticket_id,
                       parent_ticket_state_id=21, title='create by script - sub workflow demo2')
    TicketBaseService.new_ticket(ticket_dict, 'shutongflow')
Exemple #2
0
    def post(self, request, *args, **kwargs):
        """
        新建工单,需要根据不同类型工单传的参数不一样
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        json_str = request.body.decode('utf-8')
        if not json_str:
            return api_response(-1, 'post参数为空', {})
        request_data_dict = json.loads(json_str)
        app_name = request.META.get('HTTP_APPNAME')

        from service.account.account_base_service import AccountBaseService
        # 判断是否有创建某工单的权限
        app_permission, msg = AccountBaseService.app_workflow_permission_check(app_name, request_data_dict.get('workflow_id'))
        if not app_permission:
            return api_response(-1, 'APP:{} have no permission to create this workflow ticket'.format(app_name), '')

        new_ticket_result, msg = TicketBaseService.new_ticket(request_data_dict, app_name)
        if new_ticket_result:
            code, data = 0, {'ticket_id': new_ticket_result}
        else:
            code, data = -1, {}
        return api_response(code, msg, data)
Exemple #3
0
    def post(self, request, *args, **kwargs):
        """
        新建工单,需要根据不同类型工单传的参数不一样
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        json_str = request.body.decode('utf-8')
        if not json_str:
            return api_response(-1, 'post参数为空', {})

        request_data_dict = json.loads(json_str)
        if not(isinstance(request_data_dict.get('workflow_id', None), int) and isinstance(request_data_dict.get('transition_id', None), int)):
            # 临时先这么判断,后续针对所有view统一使用更优雅的方式来处理
            return api_response(-1, 'workflow_id或transition_id类型不合法', {})

        app_name = request.META.get('HTTP_APPNAME')
        request_data_dict.update(dict(username=request.META.get('HTTP_USERNAME')))

        from service.account.account_base_service import AccountBaseService
        # 判断是否有创建某工单的权限
        app_permission, msg = AccountBaseService.app_workflow_permission_check(app_name, request_data_dict.get('workflow_id'))
        if not app_permission:
            return api_response(-1, 'APP:{} have no permission to create this workflow ticket'.format(app_name), '')

        new_ticket_result, msg = TicketBaseService.new_ticket(request_data_dict, app_name)
        if new_ticket_result:
            code, data = 0, {'ticket_id': new_ticket_result}
        else:
            code, data = -1, {}
        return api_response(code, msg, data)
Exemple #4
0
 def post(self, request, *args, **kwargs):
     """
     新建工单,需要根据不同类型工单传的参数不一样
     :param request:
     :param args:
     :param kwargs:
     :return:
     """
     json_str = request.body.decode('utf-8')
     if not json_str:
         return api_response(-1, 'post参数为空', {})
     request_data_dict = json.loads(json_str)
     new_ticket_result, msg = TicketBaseService.new_ticket(
         request_data_dict)
     if new_ticket_result:
         code, data = 0, {'ticket_id': new_ticket_result}
     else:
         code, data = -1, {}
     return api_response(code, msg, data)