diff --git a/src/locales/en.json b/src/locales/en.json index 7f9480bf..76144c0e 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -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", diff --git a/src/locales/ko-kr.json b/src/locales/ko-kr.json index 727764cd..2d57b44d 100644 --- a/src/locales/ko-kr.json +++ b/src/locales/ko-kr.json @@ -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": "포인터 레코드", diff --git a/src/locales/ru.json b/src/locales/ru.json index 51d23820..001acfb6 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -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": "Запись указателя", diff --git a/src/locales/tr-tr.json b/src/locales/tr-tr.json index b6f3c84a..b403b905 100644 --- a/src/locales/tr-tr.json +++ b/src/locales/tr-tr.json @@ -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ı", diff --git a/src/locales/zh-hans.json b/src/locales/zh-hans.json index a5b0e039..cc4605a4 100644 --- a/src/locales/zh-hans.json +++ b/src/locales/zh-hans.json @@ -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": "指针记录", diff --git a/src/pages/identity/containers/Project/actions/ManageUserGroup.jsx b/src/pages/identity/containers/Project/actions/ManageUserGroup.jsx index e53ee5c7..564034ae 100644 --- a/src/pages/identity/containers/Project/actions/ManageUserGroup.jsx +++ b/src/pages/identity/containers/Project/actions/ManageUserGroup.jsx @@ -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, }, ]; }