diff --git a/dashboard/src/components/BackupSiteAddDialog.vue b/dashboard/src/components/BackupSiteAddDialog.vue index f46ca6a8b..7083d81d2 100644 --- a/dashboard/src/components/BackupSiteAddDialog.vue +++ b/dashboard/src/components/BackupSiteAddDialog.vue @@ -330,7 +330,7 @@ defineExpose({ - +
{{ $t('backups.configureBackupStorage.uploadConcurrencyDescription') }}
@@ -351,7 +351,7 @@ defineExpose({
- +
diff --git a/dashboard/src/components/BackupSiteEditDialog.vue b/dashboard/src/components/BackupSiteEditDialog.vue index e90926dc6..8d73d7fea 100644 --- a/dashboard/src/components/BackupSiteEditDialog.vue +++ b/dashboard/src/components/BackupSiteEditDialog.vue @@ -3,7 +3,7 @@ import { ref, useTemplateRef } from 'vue'; import { Checkbox, Radiobutton, MultiSelect, Dialog, FormGroup, TextInput } from '@cloudron/pankow'; import { prettyBinarySize } from '@cloudron/pankow/utils'; -import { mountlike, s3like } from '../utils.js'; +import { s3like } from '../utils.js'; import AppsModel from '../models/AppsModel.js'; import BackupSitesModel from '../models/BackupSitesModel.js'; import SystemModel from '../models/SystemModel.js'; @@ -151,37 +151,6 @@ defineExpose({ >
-
-
{{ $t('backups.configureBackupStorage.provider') }}
-
{{ site.provider }}
-
-
-
{{ $t('backups.configureBackupStorage.format') }}
-
{{ site.format }}
-
-
-
{{ $t('backups.location.location') }}
-
- - {{ site.config.backupDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }} - {{ site.config.mountOptions.diskPath || site.config.mountPoint }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }} - {{ site.config.mountOptions.host }}:{{ site.config.mountOptions.remoteDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }} - - - {{ site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }} - {{ site.config.region + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }} - {{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }} -
-
-
-
{{ $t('backups.location.endpoint') }}
-
{{ site.config.endpoint || site.config.region }}
-
-
-
{{ $t('backups.configureBackupStorage.encryptionHint') }}
-
{{ site.encryptionPasswordHint }}
-
-
@@ -221,7 +190,7 @@ defineExpose({ - +
{{ $t('backups.configureBackupStorage.uploadConcurrencyDescription') }}
diff --git a/dashboard/src/components/app/Repair.vue b/dashboard/src/components/app/Repair.vue index 898e26b40..50245e953 100644 --- a/dashboard/src/components/app/Repair.vue +++ b/dashboard/src/components/app/Repair.vue @@ -76,7 +76,7 @@ onMounted(() => {
diff --git a/dashboard/src/views/BackupSitesView.vue b/dashboard/src/views/BackupSitesView.vue index 36385c61b..d230fb553 100644 --- a/dashboard/src/views/BackupSitesView.vue +++ b/dashboard/src/views/BackupSitesView.vue @@ -16,6 +16,7 @@ import { TASK_TYPES } from '../constants.js'; import BackupSitesModel from '../models/BackupSitesModel.js'; import ProfileModel from '../models/ProfileModel.js'; import TasksModel from '../models/TasksModel.js'; +import { mountlike, s3like } from '../utils.js'; const profileModel = ProfileModel.create(); const tasksModel = TasksModel.create(); @@ -159,14 +160,14 @@ async function waitForSiteTask(site) { async function refresh() { busy.value = true; - const [error, result] = await backupSitesModels.list(); + const [error, results] = await backupSitesModels.list(); if (error) return console.error(error); sites.value = []; - for (let i = 0 ; i < result.length; i++) { + for (const result of results) { // have to make it a reactive object as we manipulate property objects - const site = reactive(result[i]); + const site = reactive(result); site.status = { busy: true, state: '', message: '' }; const [error, status] = await backupSitesModels.status(site.id); @@ -228,10 +229,21 @@ onMounted(async () => {
{{ site.name }}
- {{ $t('backups.configureBackupStorage.provider') }}: {{ site.provider }} - {{ $t('backups.configureBackupStorage.format') }}: {{ site.format }}
+ + {{ site.provider }}/{{ site.format }} @ + {{ site.config.backupDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }} + {{ site.config.mountOptions.diskPath || site.config.mountPoint }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }} + {{ site.config.mountOptions.host }}:{{ site.config.mountOptions.remoteDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }} + {{ site.config.region + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }} + {{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }} + {{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }} + {{ site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }} +
+
+
Last backup: Never
Last backup: {{ prettyLongDate(site.task.ts) }}
-
Error: {{ site.task.error }}
+
Last backup error: {{ site.task.error }}
{{ site.task.percent }}% {{ site.task.message }}