diff --git a/ui/src/permission/application/system-manage.ts b/ui/src/permission/application/system-manage.ts
index 2369ea7e7..33bdfca62 100644
--- a/ui/src/permission/application/system-manage.ts
+++ b/ui/src/permission/application/system-manage.ts
@@ -133,6 +133,8 @@ const systemManage = {
PermissionConst.RESOURCE_APPLICATION_CHAT_USER_READ
],'OR'
),
+ chat_user_edit: () =>false,
+
chat_log_read: () =>
hasPermission(
[
diff --git a/ui/src/permission/knowledge/system-manage.ts b/ui/src/permission/knowledge/system-manage.ts
index 6f88abe38..f631ce9db 100644
--- a/ui/src/permission/knowledge/system-manage.ts
+++ b/ui/src/permission/knowledge/system-manage.ts
@@ -150,6 +150,8 @@ const systemManage = {
PermissionConst.RESOURCE_KNOWLEDGE_PROBLEM_EDIT
],'OR'
),
+ chat_user_edit: () =>false,
+
auth: () => false,
folderCreate: () => false,
diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts
index 655be62b3..c0fce012c 100644
--- a/ui/src/permission/knowledge/system-share.ts
+++ b/ui/src/permission/knowledge/system-share.ts
@@ -182,6 +182,8 @@ const share = {
],
'OR'
),
+ chat_user_edit: () =>false,
+
auth: () => false,
folderCreate: () => false,
folderEdit: () => false,
diff --git a/ui/src/permission/knowledge/workspace-share.ts b/ui/src/permission/knowledge/workspace-share.ts
index a7dc28dcf..d185c13c6 100644
--- a/ui/src/permission/knowledge/workspace-share.ts
+++ b/ui/src/permission/knowledge/workspace-share.ts
@@ -31,6 +31,7 @@ const workspaceShare = {
problem_relate: () => false,
problem_delete: () => false,
problem_edit: () => false,
+ chat_user_edit: () =>false,
folderCreate: () => false,
folderEdit: () => false,
diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts
index 5c42f8970..65f860e01 100644
--- a/ui/src/permission/knowledge/workspace.ts
+++ b/ui/src/permission/knowledge/workspace.ts
@@ -272,6 +272,16 @@ const workspace = {
],
'OR',
),
+ chat_user_edit: (source_id:string) =>
+ hasPermission(
+ [
+ new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
+ PermissionConst.KNOWLEDGE_CHAT_USER_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
+ PermissionConst.KNOWLEDGE_CHAT_USER_EDIT.getWorkspacePermissionWorkspaceManageRole,
+ ],
+ 'OR',
+ ),
hit_test: () => false,
}
diff --git a/ui/src/views/chat-user/index.vue b/ui/src/views/chat-user/index.vue
index 6bfa70835..9ae789655 100644
--- a/ui/src/views/chat-user/index.vue
+++ b/ui/src/views/chat-user/index.vue
@@ -15,21 +15,12 @@
{{ $t('views.chatUser.group.title') }}
-
+
-
+
{{ row.name }}
@@ -57,21 +48,14 @@
-
+
{{ $t('views.chatUser.autoAuthorization') }}
-
+
@@ -79,36 +63,15 @@
-
+
-
-
-
+
+
+
@@ -119,31 +82,18 @@
-
+
{{ t('common.save') }}
-
-
+
+
@@ -164,21 +114,13 @@
- {{ $t('views.chatUser.authorization') }}
+ {{ $t('views.chatUser.authorization') }}
- handleRowChange(value, row)"
- />
+ handleRowChange(value, row)" />
@@ -200,6 +142,7 @@ import { ComplexPermission } from '@/utils/permission/type'
import { RoleConst, PermissionConst } from '@/utils/permission/data'
import { hasPermission } from '@/utils/permission/index'
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
+import permissionMap from '@/permission'
const route = useRoute()
@@ -208,36 +151,19 @@ const {
} = route as any
const permissionObj = ref({
- APPLICATION: new ComplexPermission(
- [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.USER.getWorkspaceRole],
- [
- PermissionConst.APPLICATION_CHAT_USER_EDIT,
- PermissionConst.APPLICATION_CHAT_USER_EDIT.getApplicationWorkspaceResourcePermission(id),
- ],
- [],
- 'OR',
- ),
- KNOWLEDGE: new ComplexPermission(
- [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.USER.getWorkspaceRole],
- [
- PermissionConst.KNOWLEDGE_CHAT_USER_EDIT,
- PermissionConst.KNOWLEDGE_CHAT_USER_EDIT.getKnowledgeWorkspaceResourcePermission(id),
- ],
- [],
- 'OR',
- ),
- RESOURCE_APPLICATION: [RoleConst.ADMIN, PermissionConst.RESOURCE_APPLICATION_CHAT_USER_EDIT],
- RESOURCE_KNOWLEDGE: [RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_CHAT_USER_EDIT],
- SHAREDKNOWLEDGE: new ComplexPermission(
+ APPLICATION: permissionMap['application']['workspace'].application_chat_user_edit(id),
+ KNOWLEDGE: permissionMap['knowledge']['workspace'].chat_user_edit(id),
+ RESOURCE_APPLICATION: hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_APPLICATION_CHAT_USER_EDIT], 'OR'),
+ RESOURCE_KNOWLEDGE: hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_CHAT_USER_EDIT], 'OR'),
+ SHAREDKNOWLEDGE: hasPermission(new ComplexPermission(
[RoleConst.ADMIN],
[PermissionConst.SHARED_KNOWLEDGE_CHAT_USER_EDIT],
[],
'OR',
- ),
+ ), 'OR')
})
const currentPermissionKey = computed(() => {
- if (route.path.includes('shared')) return 'SHAREDKNOWLEDGE'
if (route.path.includes('resource-management')) {
if (route.meta?.resourceType === 'KNOWLEDGE') {
return 'RESOURCE_KNOWLEDGE'
@@ -245,6 +171,11 @@ const currentPermissionKey = computed(() => {
return 'RESOURCE_APPLICATION'
}
}
+ else if (route.path.includes('shared')) {return 'SHAREDKNOWLEDGE'}
+ else {
+ if (route.path.includes('knowledge/')) return 'KNOWLEDGE'
+ if (route.path.includes('application/')) return 'APPLICATION'
+ }
return route.meta?.resourceType as string
})
diff --git a/ui/src/views/document/index.vue b/ui/src/views/document/index.vue
index fa22e8324..f97ef36df 100644
--- a/ui/src/views/document/index.vue
+++ b/ui/src/views/document/index.vue
@@ -515,7 +515,7 @@
effect="dark"
:content="$t('views.knowledge.setting.vectorization')"
placement="top"
- v-else="permissionPrecise.vector(id)"
+ v-if="permissionPrecise.vector(id)"
>