compute: fix vm actions show conditions (#329)

Fixes #173

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Abhishek Kumar 2020-05-07 22:46:53 +05:30 committed by Rohit Yadav
parent fe1c7b0319
commit 7b54a43942
1 changed files with 13 additions and 10 deletions

View File

@ -76,7 +76,8 @@ export default {
icon: 'edit',
label: 'Update VM',
dataView: true,
args: ['name', 'displayname', 'ostypeid', 'isdynamicallyscalable', 'haenable', 'group']
args: ['name', 'displayname', 'ostypeid', 'isdynamicallyscalable', 'haenable', 'group'],
show: (record) => { return ['Stopped'].includes(record.state) }
},
{
api: 'startVirtualMachine',
@ -112,6 +113,7 @@ export default {
label: 'label.reinstall.vm',
dataView: true,
args: ['virtualmachineid', 'templateid'],
show: (record) => { return ['Running', 'Stopped'].includes(record.state) },
mapping: {
virtualmachineid: {
value: (record) => { return record.id }
@ -196,7 +198,7 @@ export default {
label: 'label.action.attach.iso',
dataView: true,
args: ['id', 'virtualmachineid'],
show: (record) => { return !record.isoid },
show: (record) => { return ['Running', 'Stopped'].includes(record.state) && !record.isoid },
mapping: {
id: {
api: 'listIsos'
@ -212,7 +214,7 @@ export default {
label: 'label.action.detach.iso',
dataView: true,
args: ['virtualmachineid'],
show: (record) => { return 'isoid' in record && record.isoid },
show: (record) => { return ['Running', 'Stopped'].includes(record.state) && 'isoid' in record && record.isoid },
mapping: {
virtualmachineid: {
value: (record, params) => { return record.id }
@ -248,7 +250,7 @@ export default {
icon: 'drag',
label: 'label.migrate.instance.to.host',
dataView: true,
show: (record) => { return ['Running'].includes(record.state) },
show: (record, store) => { return ['Running'].includes(record.state) && ['Admin'].includes(store.userInfo.roletype) },
component: () => import('@/views/compute/MigrateWizard'),
popup: true,
args: ['hostid', 'virtualmachineid'],
@ -263,7 +265,7 @@ export default {
icon: 'drag',
label: 'label.migrate.instance.to.ps',
dataView: true,
show: (record) => { return ['Stopped'].includes(record.state) },
show: (record, store) => { return ['Stopped'].includes(record.state) && ['Admin'].includes(store.userInfo.roletype) },
args: ['storageid', 'virtualmachineid'],
mapping: {
storageid: {
@ -279,7 +281,7 @@ export default {
icon: 'key',
label: 'Reset Instance Password',
dataView: true,
show: (record) => { return ['Stopped'].includes(record.state) },
show: (record) => { return ['Running', 'Stopped'].includes(record.state) },
response: (result) => { return result.virtualmachine && result.virtualmachine.password ? `Password of the VM is ${result.virtualmachine.password}` : null }
},
{
@ -288,7 +290,7 @@ export default {
label: 'Reset SSH Key',
dataView: true,
args: ['keypair'],
show: (record) => { return ['Stopped'].includes(record.state) },
show: (record) => { return ['Running', 'Stopped'].includes(record.state) },
mapping: {
keypair: {
api: 'listSSHKeyPairs'
@ -315,14 +317,14 @@ export default {
icon: 'medicine-box',
label: 'label.recover.vm',
dataView: true,
show: (record) => { return ['Destroyed'].includes(record.state) }
show: (record, store) => { return ['Destroyed'].includes(record.state) && store.features.allowuserexpungerecovervm }
},
{
api: 'expungeVirtualMachine',
icon: 'delete',
label: 'label.action.expunge.instance',
dataView: true,
show: (record) => { return ['Destroyed'].includes(record.state) }
show: (record, store) => { return ['Destroyed', 'Expunging'].includes(record.state) && store.features.allowuserexpungerecovervm }
},
{
api: 'destroyVirtualMachine',
@ -330,7 +332,8 @@ export default {
label: 'label.action.destroy.instance',
args: ['expunge', 'volumeids'],
dataView: true,
groupAction: true
groupAction: true,
show: (record) => { return ['Running', 'Stopped', 'Error'].includes(record.state) }
}
]
},