diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts index 637f627fe..be78b2aa2 100644 --- a/ui/src/permission/knowledge/system-share.ts +++ b/ui/src/permission/knowledge/system-share.ts @@ -20,7 +20,10 @@ const share = { doc_sync: () => false, doc_delete: () => false, doc_export: () => false, - + + problem_create: () => false, + problem_relate: () => false, + problem_delete: () => false, } export default share diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts index f153af801..87b6b1996 100644 --- a/ui/src/permission/knowledge/workspace.ts +++ b/ui/src/permission/knowledge/workspace.ts @@ -173,6 +173,36 @@ const workspace = { ], 'OR', ), + problem_create: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + problem_relate: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + problem_delete: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), } export default workspace diff --git a/ui/src/views/problem/index.vue b/ui/src/views/problem/index.vue index f51ebb6ce..051b38a01 100644 --- a/ui/src/views/problem/index.vue +++ b/ui/src/views/problem/index.vue @@ -7,24 +7,18 @@