LP-5613 #2

Open
dmitrii.pichenikin wants to merge 37 commits from LP-5613 into dev
3 changed files with 14 additions and 0 deletions
Showing only changes of commit eabb1603bd - Show all commits

View File

@ -77,6 +77,7 @@
"badges.modal.error_generic": "An error occurred",
"badges.modal.error_type_name_required": "Enter type name",
"badges.modal.error_type_required": "Select achievement type",
"badges.modal.error_duplicate_name": "An achievement with this name already exists in this type",
"badges.modal.create_type_title": "Create Type",
"badges.modal.edit_type_title": "Edit Type",
"badges.modal.btn_delete_type": "Delete type",

View File

@ -77,6 +77,7 @@
"badges.modal.error_generic": "Произошла ошибка",
"badges.modal.error_type_name_required": "Введите название типа",
"badges.modal.error_type_required": "Выберите тип достижения",
"badges.modal.error_duplicate_name": "Достижение с таким названием уже существует в данном типе",
"badges.modal.create_type_title": "Создать тип",
"badges.modal.edit_type_title": "Редактировать тип",
"badges.modal.btn_delete_type": "Удалить тип",

View File

@ -200,6 +200,18 @@ const BadgeModal: React.FC = () => {
setLoading(false);
return;
}
const allBadges = await client.getAllBadges();
const trimmedName = form.name.trim().toLowerCase();
const duplicate = allBadges.find(
(b) => b.name.toLowerCase() === trimmedName &&
String(b.type) === typeID &&
(!isEditMode || !editData || b.id !== editData.id),
);
if (duplicate) {
setError(intl.formatMessage({id: 'badges.modal.error_duplicate_name', defaultMessage: 'Достижение с таким названием уже существует в данном типе'}));
setLoading(false);
return;
}
if (isEditMode && editData) {
await client.updateBadge({
id: String(editData.id),