fix(xo-web/backupNg/new): make the default retention equals 1 (#2872)

See #2711
This commit is contained in:
badrAZ 2018-04-16 15:27:55 +02:00 committed by Julien Fontanet
parent a8ba4a1a8e
commit 8d4874e240
2 changed files with 26 additions and 6 deletions

View File

@ -371,6 +371,13 @@ export default [
_, _,
{ cron, timezone, exportRetention, snapshotRetention } { cron, timezone, exportRetention, snapshotRetention }
) => async (state, props) => { ) => async (state, props) => {
if (!state.exportMode) {
exportRetention = 0
}
if (!state.snapshotMode) {
snapshotRetention = 0
}
if (state.editionMode === 'creation') { if (state.editionMode === 'creation') {
return { return {
...state, ...state,

View File

@ -43,8 +43,8 @@ export default [
initialState: ({ initialState: ({
schedule: { schedule: {
cron = '0 0 * * *', cron = '0 0 * * *',
exportRetention = 0, exportRetention = 1,
snapshotRetention = 0, snapshotRetention = 1,
timezone = moment.tz.guess(), timezone = moment.tz.guess(),
}, },
}) => ({ }) => ({
@ -76,14 +76,27 @@ export default [
}), }),
}, },
computed: { computed: {
isScheduleInvalid: ({ isScheduleInvalid: ({ retentionNeeded, scheduleNotEdited }) =>
cron, retentionNeeded || scheduleNotEdited,
retentionNeeded: ({
exportMode,
exportRetention, exportRetention,
snapshotMode,
snapshotRetention,
}) =>
!(
(exportMode && exportRetention !== 0) ||
(snapshotMode && snapshotRetention !== 0)
),
scheduleNotEdited: ({
cron,
editionMode,
exportRetention,
oldSchedule,
snapshotRetention, snapshotRetention,
timezone, timezone,
oldSchedule,
}) => }) =>
(snapshotRetention === 0 && exportRetention === 0) || editionMode !== 'creation' &&
isEqual(oldSchedule, { isEqual(oldSchedule, {
cron, cron,
exportRetention, exportRetention,