Skip to content

Commit aff1ab7

Browse files
committed
refactor: add create_user field to tool serialization and update related logic
--bug=1057413 --user=刘瑞斌 【工具】搜索项选择创建者,创建者列表为空 https://www.tapd.cn/62980211/s/1721870
1 parent 191e62f commit aff1ab7

File tree

5 files changed

+29
-2
lines changed

5 files changed

+29
-2
lines changed

apps/tools/serializers/tool.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,7 @@ class Query(serializers.Serializer):
552552
name = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('tool name'))
553553
user_id = serializers.UUIDField(required=False, allow_null=True, label=_('user id'))
554554
scope = serializers.CharField(required=True, label=_('scope'))
555+
create_user = serializers.UUIDField(required=False, label=_('scope'), allow_null=True)
555556

556557
def page_tool(self, current_page: int, page_size: int):
557558
self.is_valid(raise_exception=True)
@@ -589,6 +590,7 @@ def get_query_set(self, workspace_manage, is_x_pack_ee):
589590
desc = self.data.get('desc')
590591
name = self.data.get('name')
591592
folder_id = self.data.get('folder_id')
593+
create_user = self.data.get('create_user')
592594

593595
if workspace_id is not None:
594596
folder_query_set = folder_query_set.filter(workspace_id=workspace_id)
@@ -602,6 +604,8 @@ def get_query_set(self, workspace_manage, is_x_pack_ee):
602604
if desc is not None:
603605
folder_query_set = folder_query_set.filter(desc__contains=desc)
604606
default_query_set = default_query_set.filter(desc__contains=desc)
607+
if create_user is not None:
608+
tool_query_set = tool_query_set.filter(user_id=create_user)
605609

606610
default_query_set = default_query_set.order_by("-create_time")
607611

apps/tools/views/tool.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,8 @@ def get(self, request: Request, workspace_id: str, current_page: int, page_size:
183183
'folder_id': request.query_params.get('folder_id'),
184184
'name': request.query_params.get('name'),
185185
'scope': request.query_params.get('scope'),
186-
'user_id': request.user.id
186+
'user_id': request.user.id,
187+
'create_user': request.query_params.get('create_user'),
187188
}
188189
).page_tool_with_folders(current_page, page_size))
189190

ui/src/api/workspace/workspace.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,19 @@ const getWorkspaceMemberList: (
4444
)
4545
}
4646

47+
/**
48+
* 获取工作空间全部成员列表
49+
*/
50+
const getWorkspaceAllMemberList: (
51+
workspace_id: string,
52+
loading?: Ref<boolean>,
53+
) => Promise<Result<PageList<WorkspaceMemberItem[]>>> = (workspace_id, loading) => {
54+
return get(
55+
`${prefix}/${workspace_id}/user_list`,
56+
loading,
57+
)
58+
}
59+
4760
/**
4861
* 新建工作空间成员
4962
*/
@@ -77,6 +90,7 @@ export default {
7790
getWorkspaceList,
7891
getSystemWorkspaceList,
7992
getWorkspaceMemberList,
93+
getWorkspaceAllMemberList,
8094
CreateWorkspaceMember,
8195
deleteWorkspaceMember,
8296
getWorkspaceRoleList,

ui/src/utils/dynamics-api/shared-api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import documentSystemShareApi from '@/api/system-shared/document'
1313
import paragraphSystemShareApi from '@/api/system-shared/paragraph'
1414
import problemSystemShareApi from '@/api/system-shared/problem'
1515
import chatUserSystemShareApi from '@/api/system-shared/chat-user'
16+
import workspaceApi from '@/api/workspace/workspace'
1617

1718
// 普通 API
1819
const workspaceApiMap = {
@@ -23,6 +24,7 @@ const workspaceApiMap = {
2324
paragraph: paragraphWorkspaceApi,
2425
problem: problemWorkspaceApi,
2526
chatUser: chatUserWorkspaceApi,
27+
workspace: workspaceApi,
2628
} as any
2729

2830
// 系统分享 API

ui/src/views/tool/component/ToolListContainer.vue

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
clearable
3232
style="width: 220px"
3333
>
34-
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.username" />
34+
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.nick_name" />
3535
</el-select>
3636
</div>
3737
<el-dropdown trigger="click" v-if="!isShared && permissionPrecise.create()">
@@ -319,6 +319,7 @@ import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
319319
import permissionMap from '@/permission'
320320
import useStore from '@/stores'
321321
import { t } from '@/locales'
322+
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
322323
const route = useRoute()
323324
const { folder, user, tool } = useStore()
324325
onBeforeRouteLeave((to, from) => {
@@ -631,6 +632,11 @@ onMounted(() => {
631632
if (apiType.value !== 'workspace') {
632633
getList()
633634
}
635+
loadSharedApi({type: 'workspace', isShared: isShared.value, systemType: apiType.value })
636+
.getWorkspaceAllMemberList(user.getWorkspaceId(), loading)
637+
.then((res: any) => {
638+
user_options.value = res.data
639+
})
634640
})
635641
</script>
636642

0 commit comments

Comments
 (0)