mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
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.serializers.user_resource_permission import UserResourcePermissionSerializer
|
||||
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.serializers.user import is_workspace_manage
|
||||
|
||||
|
|
@ -554,6 +554,7 @@ class ApplicationSerializer(serializers.Serializer):
|
|||
@param tool: 工具
|
||||
@return:
|
||||
"""
|
||||
|
||||
return Tool(id=tool.get('id'),
|
||||
user_id=user_id,
|
||||
name=tool.get('name'),
|
||||
|
|
@ -561,7 +562,7 @@ class ApplicationSerializer(serializers.Serializer):
|
|||
template_id=tool.get('template_id'),
|
||||
input_field_list=tool.get('input_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,
|
||||
folder_id=workspace_id,
|
||||
workspace_id=workspace_id)
|
||||
|
|
@ -682,7 +683,7 @@ class ApplicationOperateSerializer(serializers.Serializer):
|
|||
mk_instance = MKInstance(application_dict,
|
||||
[],
|
||||
'v2',
|
||||
[ToolModelSerializer(tool).data for tool in
|
||||
[ToolExportModelSerializer(tool).data for tool in
|
||||
tool_list])
|
||||
application_pickle = pickle.dumps(mk_instance)
|
||||
response = HttpResponse(content_type='text/plain', content=application_pickle)
|
||||
|
|
|
|||
|
|
@ -110,6 +110,14 @@ class ToolModelSerializer(serializers.ModelSerializer):
|
|||
'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):
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
|
@ -376,7 +384,7 @@ class ToolSerializer(serializers.Serializer):
|
|||
self.is_valid()
|
||||
id = self.data.get('id')
|
||||
tool = QuerySet(Tool).filter(id=id).first()
|
||||
tool_dict = ToolModelSerializer(tool).data
|
||||
tool_dict = ToolExportModelSerializer(tool).data
|
||||
mk_instance = ToolInstance(tool_dict, 'v2')
|
||||
tool_pickle = pickle.dumps(mk_instance)
|
||||
response = HttpResponse(content_type='text/plain', content=tool_pickle)
|
||||
|
|
|
|||
Loading…
Reference in New Issue