feat: update user group role check

When adding a user group to a project, at least one role must be selected.

Change-Id: I647a7c69da6d463c11fe98ba5e33bf405ae14e9d
This commit is contained in:
zhangjingwei 2024-04-17 10:16:38 +08:00
parent 3c71281280
commit a0be5a1294
6 changed files with 24 additions and 2 deletions

View File

@ -1895,6 +1895,7 @@
"Please set CPU && Ram first.": "Please set CPU && Ram first.",
"Please set MUNA": "Please set MUNA",
"Please set a size no less than {minSize} GiB!": "Please set a size no less than {minSize} GiB!",
"Please set at least one role!": "Please set at least one role!",
"Please set the system disk size!": "Please set the system disk size!",
"Please upload files smaller than { size }GiB on the page. It is recommended to upload files over { size }GiB using API.": "Please upload files smaller than { size }GiB on the page. It is recommended to upload files over { size }GiB using API.",
"Pointer Record": "Pointer Record",

View File

@ -1895,6 +1895,7 @@
"Please set CPU && Ram first.": "먼저 CPU와 RAM을 설정하세요.",
"Please set MUNA": "MUNA를 설정하세요.",
"Please set a size no less than {minSize} GiB!": "크기를 {minSize}GiB 이상으로 설정하세요!",
"Please set at least one role!": "역할을 하나 이상 설정하세요!",
"Please set the system disk size!": "시스템 디스크 크기를 설정해주세요!",
"Please upload files smaller than { size }GiB on the page. It is recommended to upload files over { size }GiB using API.": "페이지에서 { size }GiB보다 작은 파일을 업로드하세요. { size }GiB 이상의 파일은 API를 사용하여 업로드하는 것이 권장됩니다.",
"Pointer Record": "포인터 레코드",

View File

@ -1895,6 +1895,7 @@
"Please set CPU && Ram first.": "Пожалуйста, сначала установите CPU и RAM.",
"Please set MUNA": "Пожалуйста, установите MUNA",
"Please set a size no less than {minSize} GiB!": "",
"Please set at least one role!": "Пожалуйста, установите хотя бы одну роль!",
"Please set the system disk size!": "",
"Please upload files smaller than { size }GiB on the page. It is recommended to upload files over { size }GiB using API.": "Пожалуйста, загружайте файлы размером меньше { size } GiB на странице. Рекомендуется загружать файлы размером более { size } GiB с помощью API.",
"Pointer Record": "Запись указателя",

View File

@ -1895,6 +1895,7 @@
"Please set CPU && Ram first.": "Lütfen önce CPU ve RAM ayarlayın.",
"Please set MUNA": "Lütfen MUNA'yı ayarlayın",
"Please set a size no less than {minSize} GiB!": "",
"Please set at least one role!": "Lütfen en az bir rol belirleyin!",
"Please set the system disk size!": "",
"Please upload files smaller than { size }GiB on the page. It is recommended to upload files over { size }GiB using API.": "Lütfen sayfada { size }GiB'den daha küçük dosyalar yükleyin. API kullanarak { size }GiB'den büyük dosyaları yüklemeniz önerilir.",
"Pointer Record": "İşaretçi Kaydı",

View File

@ -1895,6 +1895,7 @@
"Please set CPU && Ram first.": "请先设置CPU、内存。",
"Please set MUNA": "请设置NUMA节点",
"Please set a size no less than {minSize} GiB!": "请设置不小于 {minSize} GiB 的容量!",
"Please set at least one role!": "请至少选择一个角色!",
"Please set the system disk size!": "请设置系统盘的容量!",
"Please upload files smaller than { size }GiB on the page. It is recommended to upload files over { size }GiB using API.": "页面请上传小于{ size }GiB的文件超过{ size }GiB的文件建议使用API上传。",
"Pointer Record": "指针记录",

View File

@ -156,9 +156,11 @@ export class ManageUserGroup extends ModalAction {
if (value.length && option.length) {
groupRoles[groupId] = value;
} else {
groupRoles[groupId] = {};
groupRoles[groupId] = [];
}
this.setState({ groupRoles });
this.setState({ groupRoles }, () => {
this.formRef.current.validateFields();
});
};
onChangeUserGroup = (value) => {
@ -176,6 +178,20 @@ export class ManageUserGroup extends ModalAction {
this.setState(groupRoles);
};
validateGroup = () => {
const { groupRoles } = this.state;
if (!groupRoles) {
return Promise.resolve();
}
const emptyGroupRole = Object.keys(groupRoles).find((gId) => {
return !groupRoles[gId].length;
});
if (emptyGroupRole) {
return Promise.reject(t('Please set at least one role!'));
}
return Promise.resolve();
};
get defaultValue() {
const { name, domainName } = this.item;
const data = {
@ -213,6 +229,7 @@ export class ManageUserGroup extends ModalAction {
onChange: this.onChangeUserGroup,
wrapperCol: this.wrapperCol,
loading: this.userGroupStore.list.isLoading,
validator: this.validateGroup,
},
];
}