From 1febd0a9576860835f3907d7e1ac5eb6ec109d80 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Tue, 5 Aug 2025 11:45:42 +0800 Subject: [PATCH] fix: Problem read permission --- ui/src/permission/knowledge/system-share.ts | 11 ++++++++-- ui/src/permission/knowledge/workspace.ts | 11 +++++++++- ui/src/utils/permission/data.ts | 1 + .../paragraph/component/ParagraphDialog.vue | 20 ++++++++++++++++++- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts index 805572fce..cc5fa6a8a 100644 --- a/ui/src/permission/knowledge/system-share.ts +++ b/ui/src/permission/knowledge/system-share.ts @@ -150,14 +150,21 @@ const share = { ], 'OR' ), - problem_read: () => false, - problem_relate: () => + problem_read: () => hasPermission ( [ RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_PROBLEM_READ ], 'OR' + ), + problem_relate: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_PROBLEM_RELATE + ], + 'OR' ), problem_delete: () => hasPermission ( diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts index e632953be..b4e9d0030 100644 --- a/ui/src/permission/knowledge/workspace.ts +++ b/ui/src/permission/knowledge/workspace.ts @@ -212,7 +212,16 @@ const workspace = { ] ,'OR' ), - problem_read: () => false, + problem_read: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_PROBLEM_READ.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_PROBLEM_READ.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), problem_create: (source_id:string) => hasPermission( [ diff --git a/ui/src/utils/permission/data.ts b/ui/src/utils/permission/data.ts index 1a080dd94..40ce97979 100644 --- a/ui/src/utils/permission/data.ts +++ b/ui/src/utils/permission/data.ts @@ -195,6 +195,7 @@ const PermissionConst = { SHARED_KNOWLEDGE_PROBLEM_CREATE: new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+CREATE'), SHARED_KNOWLEDGE_PROBLEM_EDIT: new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+EDIT'), SHARED_KNOWLEDGE_PROBLEM_DELETE: new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+DELETE'), + SHARED_KNOWLEDGE_PROBLEM_RELATE: new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+RELATE'), SHARED_KNOWLEDGE_HIT_TEST_READ: new Permission('SYSTEM_KNOWLEDGE_HIT_TEST:READ'), KNOWLEDGE_HIT_TEST_READ: new Permission('KNOWLEDGE_HIT_TEST:READ'), diff --git a/ui/src/views/paragraph/component/ParagraphDialog.vue b/ui/src/views/paragraph/component/ParagraphDialog.vue index caba69fff..832179abc 100644 --- a/ui/src/views/paragraph/component/ParagraphDialog.vue +++ b/ui/src/views/paragraph/component/ParagraphDialog.vue @@ -37,6 +37,7 @@