Skip to content

Commit 58a44b3

Browse files
committed
feat: Knowledge problem permission
1 parent c253e8b commit 58a44b3

File tree

3 files changed

+43
-23
lines changed

3 files changed

+43
-23
lines changed

ui/src/permission/knowledge/system-share.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ const share = {
2020
doc_sync: () => false,
2121
doc_delete: () => false,
2222
doc_export: () => false,
23-
23+
24+
problem_create: () => false,
25+
problem_relate: () => false,
26+
problem_delete: () => false,
2427

2528
}
2629
export default share

ui/src/permission/knowledge/workspace.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,36 @@ const workspace = {
173173
],
174174
'OR',
175175
),
176+
problem_create: (source_id:string) =>
177+
hasPermission(
178+
[
179+
RoleConst.ADMIN,
180+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
181+
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getKnowledgeWorkspaceResourcePermission(source_id),
182+
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermissionWorkspaceManageRole,
183+
],
184+
'OR',
185+
),
186+
problem_relate: (source_id:string) =>
187+
hasPermission(
188+
[
189+
RoleConst.ADMIN,
190+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
191+
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getKnowledgeWorkspaceResourcePermission(source_id),
192+
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getWorkspacePermissionWorkspaceManageRole,
193+
],
194+
'OR',
195+
),
196+
problem_delete: (source_id:string) =>
197+
hasPermission(
198+
[
199+
RoleConst.ADMIN,
200+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
201+
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
202+
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole,
203+
],
204+
'OR',
205+
),
176206
}
177207

178208
export default workspace

ui/src/views/problem/index.vue

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,18 @@
77
<div class="flex-between">
88
<div>
99
<el-button type="primary" @click="createProblem"
10-
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
11-
RoleConst.ADMIN,
12-
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermissionWorkspaceManageRole,
13-
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getKnowledgeWorkspaceResourcePermission(id),]">
10+
v-if="permissionPrecise.problem_create(id)"
11+
>
1412
{{ $t('views.problem.createProblem') }}
1513
</el-button>
1614
<el-button @click="relateProblem()" :disabled="multipleSelection.length === 0"
17-
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
18-
RoleConst.ADMIN,
19-
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getWorkspacePermissionWorkspaceManageRole,
20-
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getKnowledgeWorkspaceResourcePermission(id)]">
15+
v-if="permissionPrecise.problem_relate(id)"
16+
>
2117
{{ $t('views.problem.relateParagraph.title') }}
2218
</el-button>
2319
<el-button @click="deleteMulDocument" :disabled="multipleSelection.length === 0"
24-
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
25-
RoleConst.ADMIN,
26-
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole,
27-
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getKnowledgeWorkspaceResourcePermission(id)]">
20+
v-if="permissionPrecise.problem_delete(id)"
21+
>
2822
{{ $t('views.problem.setting.batchDelete') }}
2923
</el-button>
3024
</div>
@@ -43,8 +37,7 @@
4337
class="mt-16"
4438
:data="problemData"
4539
:pagination-config="paginationConfig"
46-
:quick-create="permissionPrecise.doc_create(id)""
47-
40+
:quick-create="permissionPrecise.doc_create(id)"
4841
:quickCreateName="$t('views.problem.quickCreateName')"
4942
:quickCreatePlaceholder="$t('views.problem.quickCreateProblem')"
5043
:quickCreateMaxlength="256"
@@ -114,21 +107,15 @@
114107
placement="top"
115108
>
116109
<el-button type="primary" text @click.stop="relateProblem(row)"
117-
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
118-
RoleConst.ADMIN,
119-
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getWorkspacePermissionWorkspaceManageRole,
120-
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getKnowledgeWorkspaceResourcePermission(id)]">
110+
v-if="permissionPrecise.problem_relate(id)" >
121111
<el-icon><Connection /></el-icon>
122112
</el-button>
123113
</el-tooltip>
124114
</span>
125115
<span>
126116
<el-tooltip effect="dark" :content="$t('common.delete')" placement="top">
127117
<el-button type="primary" text @click.stop="deleteProblem(row)"
128-
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
129-
RoleConst.ADMIN,
130-
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole,
131-
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getKnowledgeWorkspaceResourcePermission(id)]">
118+
v-if="permissionPrecise.problem_delete(id)" >
132119
<el-icon><Delete /></el-icon>
133120
</el-button>
134121
</el-tooltip>

0 commit comments

Comments
 (0)