fix: error handling when duplicating documents fails (#3873)
This commit is contained in:
@@ -85,10 +85,13 @@ const Duplicate: React.FC<Props> = ({ id, collection, slug }) => {
|
||||
}
|
||||
|
||||
let duplicateID
|
||||
let abort = false
|
||||
|
||||
if (localization) {
|
||||
duplicateID = await create(localization.defaultLocale)
|
||||
let abort = false
|
||||
if (!duplicateID) {
|
||||
return
|
||||
}
|
||||
|
||||
await localization.localeCodes
|
||||
.filter((locale) => locale !== localization.defaultLocale)
|
||||
@@ -133,9 +136,9 @@ const Duplicate: React.FC<Props> = ({ id, collection, slug }) => {
|
||||
}
|
||||
}, Promise.resolve())
|
||||
|
||||
if (abort) {
|
||||
if (abort && duplicateID) {
|
||||
// delete the duplicate doc to prevent incomplete
|
||||
await requests.delete(`${serverURL}${api}/${slug}/${id}`, {
|
||||
await requests.delete(`${serverURL}${api}/${slug}/${duplicateID}`, {
|
||||
headers: {
|
||||
'Accept-Language': i18n.language,
|
||||
},
|
||||
@@ -145,6 +148,10 @@ const Duplicate: React.FC<Props> = ({ id, collection, slug }) => {
|
||||
duplicateID = await create()
|
||||
}
|
||||
|
||||
if (!duplicateID) {
|
||||
return
|
||||
}
|
||||
|
||||
toast.success(
|
||||
t('successfullyDuplicated', { label: getTranslation(collection.labels.singular, i18n) }),
|
||||
{ autoClose: 3000 },
|
||||
|
||||
Reference in New Issue
Block a user