From 8d4874e240bfc5b78845c848dade43be0563bf6b Mon Sep 17 00:00:00 2001 From: badrAZ Date: Mon, 16 Apr 2018 15:27:55 +0200 Subject: [PATCH] fix(xo-web/backupNg/new): make the default retention equals 1 (#2872) See #2711 --- .../xo-web/src/xo-app/backup-ng/new/index.js | 7 ++++++ .../src/xo-app/backup-ng/new/new-schedule.js | 25 ++++++++++++++----- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/xo-web/src/xo-app/backup-ng/new/index.js b/packages/xo-web/src/xo-app/backup-ng/new/index.js index 174affbaa..47f9528bf 100644 --- a/packages/xo-web/src/xo-app/backup-ng/new/index.js +++ b/packages/xo-web/src/xo-app/backup-ng/new/index.js @@ -371,6 +371,13 @@ export default [ _, { cron, timezone, exportRetention, snapshotRetention } ) => async (state, props) => { + if (!state.exportMode) { + exportRetention = 0 + } + if (!state.snapshotMode) { + snapshotRetention = 0 + } + if (state.editionMode === 'creation') { return { ...state, diff --git a/packages/xo-web/src/xo-app/backup-ng/new/new-schedule.js b/packages/xo-web/src/xo-app/backup-ng/new/new-schedule.js index d8a67830a..3397d3e35 100644 --- a/packages/xo-web/src/xo-app/backup-ng/new/new-schedule.js +++ b/packages/xo-web/src/xo-app/backup-ng/new/new-schedule.js @@ -43,8 +43,8 @@ export default [ initialState: ({ schedule: { cron = '0 0 * * *', - exportRetention = 0, - snapshotRetention = 0, + exportRetention = 1, + snapshotRetention = 1, timezone = moment.tz.guess(), }, }) => ({ @@ -76,14 +76,27 @@ export default [ }), }, computed: { - isScheduleInvalid: ({ - cron, + isScheduleInvalid: ({ retentionNeeded, scheduleNotEdited }) => + retentionNeeded || scheduleNotEdited, + retentionNeeded: ({ + exportMode, exportRetention, + snapshotMode, + snapshotRetention, + }) => + !( + (exportMode && exportRetention !== 0) || + (snapshotMode && snapshotRetention !== 0) + ), + scheduleNotEdited: ({ + cron, + editionMode, + exportRetention, + oldSchedule, snapshotRetention, timezone, - oldSchedule, }) => - (snapshotRetention === 0 && exportRetention === 0) || + editionMode !== 'creation' && isEqual(oldSchedule, { cron, exportRetention,