Skip to content

Commit 39ac627

Browse files
committed
feat: enhance SystemKnowledgeSerializer and related components to support workspace and folder IDs
--bug=1059926 --user=刘瑞斌 【资源管理】知识库文档迁移时,可选择的目标知识库展示了系统所有的知识库 https://www.tapd.cn/62980211/s/1747947
1 parent cbf7dd0 commit 39ac627

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

apps/knowledge/serializers/knowledge.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ def is_x_pack_ee():
123123
return workspace_user_role_mapping_model is not None and role_permission_mapping_model is not None
124124

125125
def get_query_set(self, workspace_manage, is_x_pack_ee):
126+
self.is_valid(raise_exception=True)
126127
workspace_id = self.data.get("workspace_id")
127128
query_set_dict = {}
128129
query_set = QuerySet(model=get_dynamics_model({
@@ -170,8 +171,6 @@ def get_query_set(self, workspace_manage, is_x_pack_ee):
170171
return query_set_dict
171172

172173
def page(self, current_page: int, page_size: int):
173-
self.is_valid(raise_exception=True)
174-
175174
folder_id = self.data.get('folder_id', self.data.get("workspace_id"))
176175
root = KnowledgeFolder.objects.filter(id=folder_id).first()
177176
if not root:
@@ -196,7 +195,6 @@ def page(self, current_page: int, page_size: int):
196195
)
197196

198197
def list(self):
199-
self.is_valid(raise_exception=True)
200198
folder_id = self.data.get('folder_id')
201199
if not folder_id:
202200
folder_id = self.data.get('workspace_id')

ui/src/views/document/component/SelectKnowledgeDialog.vue

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ const {
6666
6767
const { user } = useStore()
6868
69+
const props = defineProps({
70+
workspaceId: {
71+
type: String,
72+
},
73+
})
74+
6975
const apiType = computed(() => {
7076
if (route.path.includes('shared')) {
7177
return 'systemShare'
@@ -99,8 +105,17 @@ const defaultProps = {
99105
const loadTree = async (node: any, resolve: any) => {
100106
if (node.isLeaf) return resolve([])
101107
const folder_id = node.level === 0 ? user.getWorkspaceId() : node.data.id
108+
const obj =
109+
apiType.value === 'systemManage'
110+
? {
111+
workspace_id: props.workspaceId,
112+
folder_id: node.level === 0 ? props.workspaceId : node.data.id,
113+
}
114+
: {
115+
folder_id: folder_id,
116+
}
102117
await loadSharedApi({ type: 'knowledge', systemType: apiType.value })
103-
.getKnowledgeList({ folder_id: folder_id }, loading)
118+
.getKnowledgeList(obj, loading)
104119
.then((res: any) => {
105120
resolve(res.data)
106121
})

ui/src/views/document/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@
631631
<ImportDocumentDialog ref="ImportDocumentDialogRef" :title="title" @refresh="refresh" />
632632
<SyncWebDialog ref="SyncWebDialogRef" @refresh="refresh" />
633633
<!-- 选择知识库 -->
634-
<SelectKnowledgeDialog ref="selectKnowledgeDialogRef" @refresh="refreshMigrate" />
634+
<SelectKnowledgeDialog ref="selectKnowledgeDialogRef" @refresh="refreshMigrate" :workspaceId="knowledgeDetail?.workspace_id"/>
635635
<GenerateRelatedDialog ref="GenerateRelatedDialogRef" @refresh="getList" :apiType="apiType" />
636636
</div>
637637
</template>

0 commit comments

Comments
 (0)