fix: permission can not edit admin permission (#5433)

This commit is contained in:
Finley Ge
2025-08-11 21:46:27 +08:00
committed by GitHub
parent 5019c6ec8b
commit c6e58291f7
8 changed files with 30 additions and 10 deletions

View File

@@ -5,7 +5,8 @@ export enum AppErrEnum {
unExist = 'appUnExist', unExist = 'appUnExist',
unAuthApp = 'unAuthApp', unAuthApp = 'unAuthApp',
invalidOwner = 'invalidOwner', invalidOwner = 'invalidOwner',
invalidAppType = 'invalidAppType' invalidAppType = 'invalidAppType',
canNotEditAdminPermission = 'canNotEditAdminPermission'
} }
const appErrList = [ const appErrList = [
{ {
@@ -23,6 +24,10 @@ const appErrList = [
{ {
statusText: AppErrEnum.invalidAppType, statusText: AppErrEnum.invalidAppType,
message: i18nT('common:code_error.app_error.invalid_app_type') message: i18nT('common:code_error.app_error.invalid_app_type')
},
{
statusText: AppErrEnum.canNotEditAdminPermission,
message: i18nT('common:code_error.app_error.can_not_edit_admin_permission')
} }
]; ];
export default appErrList.reduce((acc, cur, index) => { export default appErrList.reduce((acc, cur, index) => {

View File

@@ -14,7 +14,8 @@ export enum DatasetErrEnum {
invalidVectorModelOrQAModel = 'invalidVectorModelOrQAModel', invalidVectorModelOrQAModel = 'invalidVectorModelOrQAModel',
notSupportSync = 'notSupportSync', notSupportSync = 'notSupportSync',
sameApiCollection = 'sameApiCollection', sameApiCollection = 'sameApiCollection',
noApiServer = 'noApiServer' noApiServer = 'noApiServer',
canNotEditAdminPermission = 'canNotEditAdminPermission'
} }
const datasetErr = [ const datasetErr = [
{ {
@@ -60,6 +61,10 @@ const datasetErr = [
{ {
statusText: DatasetErrEnum.invalidVectorModelOrQAModel, statusText: DatasetErrEnum.invalidVectorModelOrQAModel,
message: 'core.dataset.error.invalidVectorModelOrQAModel' message: 'core.dataset.error.invalidVectorModelOrQAModel'
},
{
statusText: DatasetErrEnum.canNotEditAdminPermission,
message: 'core.dataset.error.canNotEditAdminPermission'
} }
]; ];
export default datasetErr.reduce((acc, cur, index) => { export default datasetErr.reduce((acc, cur, index) => {

View File

@@ -133,6 +133,7 @@
"code_error.app_error.invalid_owner": "Unauthorized Application Owner", "code_error.app_error.invalid_owner": "Unauthorized Application Owner",
"code_error.app_error.not_exist": "Application Does Not Exist", "code_error.app_error.not_exist": "Application Does Not Exist",
"code_error.app_error.un_auth_app": "Unauthorized to Operate This Application", "code_error.app_error.un_auth_app": "Unauthorized to Operate This Application",
"code_error.app_error.can_not_edit_admin_permission": "Can not edit admin permission",
"code_error.chat_error.un_auth": "Unauthorized to Operate This Chat Record", "code_error.chat_error.un_auth": "Unauthorized to Operate This Chat Record",
"code_error.error_code.400": "Request Failed", "code_error.error_code.400": "Request Failed",
"code_error.error_code.401": "No Access Permission", "code_error.error_code.401": "No Access Permission",
@@ -485,6 +486,7 @@
"core.dataset.error.unCreateCollection": "Unauthorized to Operate This Data", "core.dataset.error.unCreateCollection": "Unauthorized to Operate This Data",
"core.dataset.error.unExistDataset": "The knowledge base does not exist", "core.dataset.error.unExistDataset": "The knowledge base does not exist",
"core.dataset.error.unLinkCollection": "Not a Web Link Collection", "core.dataset.error.unLinkCollection": "Not a Web Link Collection",
"core.dataset.error.canNotEditAdminPermission": "You cannot edit the admin permission",
"core.dataset.externalFile": "External File Library", "core.dataset.externalFile": "External File Library",
"core.dataset.file": "File", "core.dataset.file": "File",
"core.dataset.folder": "Directory", "core.dataset.folder": "Directory",

View File

@@ -134,6 +134,7 @@
"code_error.app_error.not_exist": "应用不存在", "code_error.app_error.not_exist": "应用不存在",
"code_error.app_error.un_auth_app": "无权操作该应用", "code_error.app_error.un_auth_app": "无权操作该应用",
"code_error.chat_error.un_auth": "没有权限操作此对话记录", "code_error.chat_error.un_auth": "没有权限操作此对话记录",
"code_error.app_error.can_not_edit_admin_permission": "不能编辑管理员权限",
"code_error.error_code.400": "请求失败", "code_error.error_code.400": "请求失败",
"code_error.error_code.401": "无访问权限", "code_error.error_code.401": "无访问权限",
"code_error.error_code.403": "紧张访问", "code_error.error_code.403": "紧张访问",
@@ -485,6 +486,7 @@
"core.dataset.error.unCreateCollection": "无权操作该数据", "core.dataset.error.unCreateCollection": "无权操作该数据",
"core.dataset.error.unExistDataset": "知识库不存在", "core.dataset.error.unExistDataset": "知识库不存在",
"core.dataset.error.unLinkCollection": "不是网络链接集合", "core.dataset.error.unLinkCollection": "不是网络链接集合",
"core.dataset.error.canNotEditAdminPermission": "无法修改管理员权限",
"core.dataset.externalFile": "外部文件库", "core.dataset.externalFile": "外部文件库",
"core.dataset.file": "文件", "core.dataset.file": "文件",
"core.dataset.folder": "目录", "core.dataset.folder": "目录",

View File

@@ -134,6 +134,7 @@
"code_error.app_error.not_exist": "應用程式不存在", "code_error.app_error.not_exist": "應用程式不存在",
"code_error.app_error.un_auth_app": "無權操作此應用程式", "code_error.app_error.un_auth_app": "無權操作此應用程式",
"code_error.chat_error.un_auth": "沒有權限操作此對話記錄", "code_error.chat_error.un_auth": "沒有權限操作此對話記錄",
"code_error.app_error.can_not_edit_admin_permission": "不能編輯管理員權限",
"code_error.error_code.400": "請求失敗", "code_error.error_code.400": "請求失敗",
"code_error.error_code.401": "無存取權限", "code_error.error_code.401": "無存取權限",
"code_error.error_code.403": "禁止存取", "code_error.error_code.403": "禁止存取",
@@ -485,6 +486,7 @@
"core.dataset.error.unCreateCollection": "無權操作此資料", "core.dataset.error.unCreateCollection": "無權操作此資料",
"core.dataset.error.unExistDataset": "知識庫不存在", "core.dataset.error.unExistDataset": "知識庫不存在",
"core.dataset.error.unLinkCollection": "不是網路連結集合", "core.dataset.error.unLinkCollection": "不是網路連結集合",
"core.dataset.error.canNotEditAdminPermission": "無法修改管理員權限",
"core.dataset.externalFile": "外部檔案庫", "core.dataset.externalFile": "外部檔案庫",
"core.dataset.file": "檔案", "core.dataset.file": "檔案",
"core.dataset.folder": "目錄", "core.dataset.folder": "目錄",

View File

@@ -15,7 +15,7 @@ function MemberItemCard({
isChecked, isChecked,
onDelete, onDelete,
name, name,
role: permission, role,
orgs, orgs,
addOnly, addOnly,
rightSlot rightSlot
@@ -31,7 +31,7 @@ function MemberItemCard({
orgs?: string[]; orgs?: string[];
rightSlot?: React.ReactNode; rightSlot?: React.ReactNode;
}) { }) {
const isAdded = addOnly && !!permission; const isAdded = addOnly && !!role;
const onChange = () => { const onChange = () => {
if (!isAdded) _onChange(); if (!isAdded) _onChange();
}; };
@@ -61,7 +61,7 @@ function MemberItemCard({
</Box> </Box>
<Box lineHeight={1}>{orgs && orgs.length > 0 && <OrgTags orgs={orgs} />}</Box> <Box lineHeight={1}>{orgs && orgs.length > 0 && <OrgTags orgs={orgs} />}</Box>
</Box> </Box>
{!isAdded && permission && <RoleTags permission={permission} />} {!isAdded && role && <RoleTags permission={role} />}
{isAdded && ( {isAdded && (
<Tag <Tag
mixBlendMode={'multiply'} mixBlendMode={'multiply'}

View File

@@ -186,12 +186,13 @@ function RoleSelect({
); );
})} })}
<MyDivider />
{roleOptions.checkboxList.length > 0 && ( {roleOptions.checkboxList.length > 0 && (
<Box pb="2" px="3" fontSize={'sm'} color={'myGray.900'}> <>
{t('common:permission_other')} <MyDivider />
</Box> <Box pb="2" px="3" fontSize={'sm'} color={'myGray.900'}>
{t('common:permission_other')}
</Box>
</>
)} )}
{roleOptions.checkboxList.map((item) => { {roleOptions.checkboxList.map((item) => {

View File

@@ -136,6 +136,9 @@ const CollaboratorContextProvider = ({
const Per = new Permission({ role }); const Per = new Permission({ role });
const labels: string[] = []; const labels: string[] = [];
if (Per.isOwner) {
return [t('common:permission.Owner')];
}
if (Per.hasManagePer) { if (Per.hasManagePer) {
labels.push(t(roleList['manage'].name as any)); labels.push(t(roleList['manage'].name as any));
} else if (Per.hasWritePer) { } else if (Per.hasWritePer) {