Skip to content

Commit 4464573

Browse files
authored
fix: There is a tool node in the application - the tool node has startup parameters - after importing, the tool should be disabled (#3821)
1 parent 5426e90 commit 4464573

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

apps/application/serializers/application.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
from system_manage.models import WorkspaceUserResourcePermission, AuthTargetType
4646
from system_manage.serializers.user_resource_permission import UserResourcePermissionSerializer
4747
from tools.models import Tool, ToolScope
48-
from tools.serializers.tool import ToolModelSerializer
48+
from tools.serializers.tool import ToolExportModelSerializer
4949
from users.models import User
5050
from users.serializers.user import is_workspace_manage
5151

@@ -554,14 +554,15 @@ def to_tool(tool, workspace_id, user_id):
554554
@param tool: 工具
555555
@return:
556556
"""
557+
557558
return Tool(id=tool.get('id'),
558559
user_id=user_id,
559560
name=tool.get('name'),
560561
code=tool.get('code'),
561562
template_id=tool.get('template_id'),
562563
input_field_list=tool.get('input_field_list'),
563564
init_field_list=tool.get('init_field_list'),
564-
is_active=tool.get('is_active'),
565+
is_active=tool.get('is_active') if len((tool.get('init_field_list') or [])) > 0 else False,
565566
scope=ToolScope.WORKSPACE,
566567
folder_id=workspace_id,
567568
workspace_id=workspace_id)
@@ -682,7 +683,7 @@ def export(self, with_valid=True):
682683
mk_instance = MKInstance(application_dict,
683684
[],
684685
'v2',
685-
[ToolModelSerializer(tool).data for tool in
686+
[ToolExportModelSerializer(tool).data for tool in
686687
tool_list])
687688
application_pickle = pickle.dumps(mk_instance)
688689
response = HttpResponse(content_type='text/plain', content=application_pickle)

apps/tools/serializers/tool.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,14 @@ class Meta:
110110
'create_time', 'update_time']
111111

112112

113+
class ToolExportModelSerializer(serializers.ModelSerializer):
114+
class Meta:
115+
model = Tool
116+
fields = ['id', 'name', 'icon', 'desc', 'code', 'input_field_list', 'init_field_list',
117+
'scope', 'is_active', 'user_id', 'template_id', 'workspace_id', 'folder_id', 'tool_type', 'label',
118+
'create_time', 'update_time']
119+
120+
113121
class UploadedFileField(serializers.FileField):
114122
def __init__(self, **kwargs):
115123
super().__init__(**kwargs)
@@ -376,7 +384,7 @@ def export(self):
376384
self.is_valid()
377385
id = self.data.get('id')
378386
tool = QuerySet(Tool).filter(id=id).first()
379-
tool_dict = ToolModelSerializer(tool).data
387+
tool_dict = ToolExportModelSerializer(tool).data
380388
mk_instance = ToolInstance(tool_dict, 'v2')
381389
tool_pickle = pickle.dumps(mk_instance)
382390
response = HttpResponse(content_type='text/plain', content=tool_pickle)

0 commit comments

Comments
 (0)