diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json index e625af59c..57598c43d 100644 --- a/dashboard/public/translation/en.json +++ b/dashboard/public/translation/en.json @@ -663,7 +663,8 @@ "restoreArchiveDialog": { "title": "Restore from Archive", "description": "This will install {{appId}} at the specified location with backup from {{creationTime}}.", - "restoreAction": "Restore {{ dnsOverwrite ? 'and overwrite DNS' : '' }}" + "restoreAction": "Restore", + "restoreActionOverwrite": "Restore and overwrite DNS" } }, "branding": { @@ -1142,7 +1143,7 @@ "backupFailed": "Backup failed", "certificateRenewalFailed": "Certificate renewal failed", "appOutOfMemory": "App ran out of memory", - "appUp": "App is online", + "appUp": "App is back online", "appDown": "App is down", "rebootRequired": "Server reboot required", "cloudronUpdateFailed": "Cloudron Update Failed" diff --git a/dashboard/public/translation/nl.json b/dashboard/public/translation/nl.json index 0abe77d23..0d4dab06e 100644 --- a/dashboard/public/translation/nl.json +++ b/dashboard/public/translation/nl.json @@ -1502,7 +1502,7 @@ "backupFailed": "Backup mislukt", "certificateRenewalFailed": "Vernieuwen certificaten mislukt", "appOutOfMemory": "App had te weinig geheugen", - "appUp": "App is offline", + "appUp": "App is weer online", "appDown": "App werkt niet", "rebootRequired": "Server herstart noodzakelijk", "cloudronUpdateFailed": "Cloudron Update Mislukt" diff --git a/dashboard/src/components/AppArchive.vue b/dashboard/src/components/AppArchive.vue index a5529494a..e067d4519 100644 --- a/dashboard/src/components/AppArchive.vue +++ b/dashboard/src/components/AppArchive.vue @@ -202,6 +202,7 @@ async function onRestoreSubmit() { if (error.type === 'externally_exists') { restoreNeedsOverwrite.value = true; } else { + restoreError.value.generic = error.body ? error.body.message : 'Internal error'; console.error(error); } restoreBusy.value = false; @@ -242,13 +243,14 @@ onMounted(async () => { :title="$t('backups.restoreArchiveDialog.title')" reject-style="secondary" :reject-label="restoreBusy ? '' : $t('main.dialog.cancel')" - :confirm-label="$t('backups.restoreArchiveDialog.restoreAction', { dnsOverwrite: restoreNeedsOverwrite })" + :confirm-label="$t(restoreNeedsOverwrite ? 'backups.restoreArchiveDialog.restoreActionOverwrite' : 'backups.restoreArchiveDialog.restoreAction')" :confirm-busy="restoreBusy" :confirm-active="!restoreBusy" @confirm="onRestoreSubmit()" >

+
{{ restoreError.generic }}
diff --git a/dashboard/src/models/ArchivesModel.js b/dashboard/src/models/ArchivesModel.js index 28bfa5166..88021595b 100644 --- a/dashboard/src/models/ArchivesModel.js +++ b/dashboard/src/models/ArchivesModel.js @@ -44,7 +44,7 @@ function create() { }; })); - for (const domain in allDomains) { + for (const domain of allDomains) { const [error, result] = await domainsModel.checkRecords(domain.domain, domain.subdomain); if (error) return [error]; diff --git a/dashboard/src/models/DomainsModel.js b/dashboard/src/models/DomainsModel.js index f8227fa3c..a21562e44 100644 --- a/dashboard/src/models/DomainsModel.js +++ b/dashboard/src/models/DomainsModel.js @@ -107,6 +107,7 @@ function create() { } if (error || result.status !== 200) return [error || result]; + return [null, result.body]; }, }; }