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:
@@ -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
|
||||
|
||||
|
||||
@@ -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>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 (
|
||||
|
||||
Reference in New Issue
Block a user