feat(xo-web/restore): allow all licenses to restore backups (#5547)

See xcp-ng.org/forum/topic/4165/crashed-xoa-can-t-boot-a-clean-xoa-and-use-restore-because-of-registration/7
This commit is contained in:
Mathieu
2021-02-10 15:53:29 +01:00
committed by GitHub
parent 3bf4ee35a1
commit 6aa8515df4
3 changed files with 23 additions and 23 deletions

View File

@@ -9,6 +9,7 @@
- [Task] Display age and estimated duration (PR [#5530](https://github.com/vatesfr/xen-orchestra/pull/5530))
- [Proxy] Ask for a confirmation before upgrading a proxy with running backups (PR [#5533](https://github.com/vatesfr/xen-orchestra/pull/5533))
- [Backup/restore] Allow backup restore to any licence even if XOA isn't registered (PR [#5547](https://github.com/vatesfr/xen-orchestra/pull/5547))
### Bug fixes

View File

@@ -5,7 +5,6 @@ import Component from 'base-component'
import Icon from 'icon'
import React from 'react'
import SortedTable from 'sorted-table'
import Upgrade from 'xoa-upgrade'
import { addSubscriptions, formatSize, noop } from 'utils'
import { confirm } from 'modal'
import { error } from 'notification'
@@ -259,28 +258,26 @@ export default class Restore extends Component {
render() {
return (
<Upgrade place='restoreBackup' available={2}>
<div>
<RestoreLegacy />
<div className='mt-1 mb-1'>
<h3>{_('restore')}</h3>
<ActionButton btnStyle='primary' handler={this._refreshBackupList} icon='refresh'>
{_('refreshBackupList')}
</ActionButton>{' '}
<ButtonLink to='backup/restore/metadata'>
<Icon icon='database' /> {_('metadata')}
</ButtonLink>
</div>
<SortedTable
actions={this._actions}
collection={this.state.backupDataByVm}
columns={BACKUPS_COLUMNS}
stateUrlParam='s'
/>
<br />
<Logs />
<div>
<RestoreLegacy />
<div className='mt-1 mb-1'>
<h3>{_('restore')}</h3>
<ActionButton btnStyle='primary' handler={this._refreshBackupList} icon='refresh'>
{_('refreshBackupList')}
</ActionButton>{' '}
<ButtonLink to='backup/restore/metadata'>
<Icon icon='database' /> {_('metadata')}
</ButtonLink>
</div>
</Upgrade>
<SortedTable
actions={this._actions}
collection={this.state.backupDataByVm}
columns={BACKUPS_COLUMNS}
stateUrlParam='s'
/>
<br />
<Logs />
</div>
)
}
}

View File

@@ -227,8 +227,10 @@ export default class XoApp extends Component {
render() {
const { signedUp, trial, registerNeeded } = this.props
const { pathname } = this.context.router.location
// If we are under expired or unstable trial (signed up only)
const blocked = signedUp && blockXoaAccess(trial) && !this.context.router.location.pathname.startsWith('/xoa/')
const blocked =
signedUp && blockXoaAccess(trial) && !(pathname.startsWith('/xoa/') || pathname === '/backup/restore')
const plan = getXoaPlan()
return (