コード例 #1
0
ファイル: views.py プロジェクト: youjiajia/loonflow
    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')
        username = request.META.get('HTTP_USERNAME')
        name = request_data_dict.get('name', '')
        chiefs = request_data_dict.get('chiefs', [])
        chiefs = ','.join(map(str, chiefs))
        module = request_data_dict.get('module', '')
        is_hidden = request_data_dict.get('is_hidden', 0)
        order_id = int(request_data_dict.get('order_id', 0))
        type_id = int(request_data_dict.get('type_id', 0))
        remember_last_man_enable = int(
            request_data_dict.get('remember_last_man_enable', 1))
        enable_retreat = int(request_data_dict.get('enable_retreat', 1))
        participant_type_id = int(
            request_data_dict.get('participant_type_id', 1))

        participant = request_data_dict.get('participant', [])
        participant = ','.join(map(str, participant))
        distribute_type_id = int(request_data_dict.get('distribute_type_id',
                                                       1))
        description = request_data_dict.get('description', '')
        deadline = int(request_data_dict.get('deadline', 1))
        label = {}
        for field in ['has_report', 'has_excel']:
            if field in request_data_dict:
                label[field] = request_data_dict[field]
        label = json.dumps(label)

        flag, result = workflow_state_service_ins.edit_workflow_state(
            0, name, is_hidden, order_id, type_id, remember_last_man_enable,
            participant_type_id, participant, distribute_type_id, label,
            username, enable_retreat, chiefs, app_name, module, description,
            deadline)
        if flag is False:
            code, msg, data = -1, result, {}
        else:
            code, msg, data = 0, '', {
                'state_id': result.get('workflow_state_id')
            }
        return api_response(code, msg, data)
コード例 #2
0
ファイル: views.py プロジェクト: r4b3rt/loonflow
    def patch(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)
        workflow_data = {}
        app_name = request.META.get('HTTP_APPNAME')
        username = request.META.get('HTTP_USERNAME')
        name = request_data_dict.get('name', '')
        is_hidden = request_data_dict.get('is_hidden', 0)
        order_id = int(request_data_dict.get('order_id', 0))
        type_id = int(request_data_dict.get('type_id', 0))
        remember_last_man_enable = int(
            request_data_dict.get('remember_last_man_enable', 0))
        enable_retreat = int(request_data_dict.get('enable_retreat', 0))
        participant_type_id = int(
            request_data_dict.get('participant_type_id', 0))

        participant = request_data_dict.get('participant', '')
        distribute_type_id = int(request_data_dict.get('distribute_type_id',
                                                       1))
        state_field_str = request_data_dict.get('state_field_str', '')
        label = request_data_dict.get('label', '')
        workflow_id = kwargs.get('workflow_id')
        state_id = kwargs.get('state_id')

        flag, result = workflow_state_service_ins.edit_workflow_state(
            state_id, workflow_id, name, is_hidden, order_id, type_id,
            remember_last_man_enable, participant_type_id, participant,
            distribute_type_id, state_field_str, label, enable_retreat)
        if flag is False:
            code, msg, data = -1, result, {}
        else:
            code, msg, data = 0, '', {}
        return api_response(code, msg, data)