fix: There is a tool node in the application - the tool node has startup parameters - after importing, the tool should be disabled (#3821)
This commit is contained in:
parent
5426e90234
commit
44645734f5
@ -45,7 +45,7 @@ from models_provider.tools import get_model_instance_by_model_workspace_id
|
|||||||
from system_manage.models import WorkspaceUserResourcePermission, AuthTargetType
|
from system_manage.models import WorkspaceUserResourcePermission, AuthTargetType
|
||||||
from system_manage.serializers.user_resource_permission import UserResourcePermissionSerializer
|
from system_manage.serializers.user_resource_permission import UserResourcePermissionSerializer
|
||||||
from tools.models import Tool, ToolScope
|
from tools.models import Tool, ToolScope
|
||||||
from tools.serializers.tool import ToolModelSerializer
|
from tools.serializers.tool import ToolExportModelSerializer
|
||||||
from users.models import User
|
from users.models import User
|
||||||
from users.serializers.user import is_workspace_manage
|
from users.serializers.user import is_workspace_manage
|
||||||
|
|
||||||
@ -554,6 +554,7 @@ class ApplicationSerializer(serializers.Serializer):
|
|||||||
@param tool: 工具
|
@param tool: 工具
|
||||||
@return:
|
@return:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
return Tool(id=tool.get('id'),
|
return Tool(id=tool.get('id'),
|
||||||
user_id=user_id,
|
user_id=user_id,
|
||||||
name=tool.get('name'),
|
name=tool.get('name'),
|
||||||
@ -561,7 +562,7 @@ class ApplicationSerializer(serializers.Serializer):
|
|||||||
template_id=tool.get('template_id'),
|
template_id=tool.get('template_id'),
|
||||||
input_field_list=tool.get('input_field_list'),
|
input_field_list=tool.get('input_field_list'),
|
||||||
init_field_list=tool.get('init_field_list'),
|
init_field_list=tool.get('init_field_list'),
|
||||||
is_active=tool.get('is_active'),
|
is_active=tool.get('is_active') if len((tool.get('init_field_list') or [])) > 0 else False,
|
||||||
scope=ToolScope.WORKSPACE,
|
scope=ToolScope.WORKSPACE,
|
||||||
folder_id=workspace_id,
|
folder_id=workspace_id,
|
||||||
workspace_id=workspace_id)
|
workspace_id=workspace_id)
|
||||||
@ -682,7 +683,7 @@ class ApplicationOperateSerializer(serializers.Serializer):
|
|||||||
mk_instance = MKInstance(application_dict,
|
mk_instance = MKInstance(application_dict,
|
||||||
[],
|
[],
|
||||||
'v2',
|
'v2',
|
||||||
[ToolModelSerializer(tool).data for tool in
|
[ToolExportModelSerializer(tool).data for tool in
|
||||||
tool_list])
|
tool_list])
|
||||||
application_pickle = pickle.dumps(mk_instance)
|
application_pickle = pickle.dumps(mk_instance)
|
||||||
response = HttpResponse(content_type='text/plain', content=application_pickle)
|
response = HttpResponse(content_type='text/plain', content=application_pickle)
|
||||||
|
|||||||
@ -110,6 +110,14 @@ class ToolModelSerializer(serializers.ModelSerializer):
|
|||||||
'create_time', 'update_time']
|
'create_time', 'update_time']
|
||||||
|
|
||||||
|
|
||||||
|
class ToolExportModelSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Tool
|
||||||
|
fields = ['id', 'name', 'icon', 'desc', 'code', 'input_field_list', 'init_field_list',
|
||||||
|
'scope', 'is_active', 'user_id', 'template_id', 'workspace_id', 'folder_id', 'tool_type', 'label',
|
||||||
|
'create_time', 'update_time']
|
||||||
|
|
||||||
|
|
||||||
class UploadedFileField(serializers.FileField):
|
class UploadedFileField(serializers.FileField):
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
@ -376,7 +384,7 @@ class ToolSerializer(serializers.Serializer):
|
|||||||
self.is_valid()
|
self.is_valid()
|
||||||
id = self.data.get('id')
|
id = self.data.get('id')
|
||||||
tool = QuerySet(Tool).filter(id=id).first()
|
tool = QuerySet(Tool).filter(id=id).first()
|
||||||
tool_dict = ToolModelSerializer(tool).data
|
tool_dict = ToolExportModelSerializer(tool).data
|
||||||
mk_instance = ToolInstance(tool_dict, 'v2')
|
mk_instance = ToolInstance(tool_dict, 'v2')
|
||||||
tool_pickle = pickle.dumps(mk_instance)
|
tool_pickle = pickle.dumps(mk_instance)
|
||||||
response = HttpResponse(content_type='text/plain', content=tool_pickle)
|
response = HttpResponse(content_type='text/plain', content=tool_pickle)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user