Turn the offline/online checkbox of the Migrate Windows into a displayfield

This checkbox had not effect whatsoever:
 * if the VM was online and offline was selected, the migration would fail
 with the message that the --online flag is needed for running VMs
 * if the the VM was offline and online was selected, the migration would
 happen offline anyway
This commit is contained in:
Emmanuel Kasper 2017-08-24 11:45:20 +02:00 committed by Wolfgang Bumiller
parent 2df7ea9fda
commit 1c62fde24d

View File

@ -27,8 +27,8 @@ Ext.define('PVE.window.Migrate', {
target: values.target
};
if (values.online) {
params[view.liveMode] = values.online;
if (view.liveMode) {
params[view.liveMode] = 1;
}
PVE.Utils.API2Request({
@ -82,13 +82,10 @@ Ext.define('PVE.window.Migrate', {
onlineValidator: true
},
{
xtype: 'pvecheckbox',
reference: 'onlineToggle',
name: 'online',
uncheckedValue: 0,
defaultValue: 0,
checked: false,
fieldLabel: gettext('Restart Mode')
xtype: 'displayfield',
reference: 'migrationMode',
fieldLabel: gettext('Mode'),
value: gettext('Offline')
}
]
}
@ -130,14 +127,12 @@ Ext.define('PVE.window.Migrate', {
me.liveMode = 'restart';
if (me.vmtype === 'qemu') {
me.lookup('onlineToggle').setFieldLabel(gettext('Online'));
me.lookup('pveHelpButton').setHelpConfig({
onlineHelp: 'qm_migration'
});
title = gettext('Migrate') + (' VM ') + me.vmid;
me.liveMode = 'online';
}
me.setTitle(title);
var running = false;
var vmrec = PVE.data.ResourceStore.findRecord('vmid', me.vmid,
@ -145,8 +140,19 @@ Ext.define('PVE.window.Migrate', {
if (vmrec && vmrec.data && vmrec.data.running) {
running = true;
}
me.lookup('onlineToggle').setValue(running);
if (running) {
var displayField = me.lookup('migrationMode');
if (me.vmtype === 'qemu') {
displayField.setValue(gettext('Online'));
me.liveMode = 'online';
} else {
displayField.setValue(gettext('Restart Mode'));
me.liveMode = 'restart';
}
}
me.setTitle(title);
me.lookup('pveNodeSelector').disallowedNodes = [me.nodename];
me.lookup('formPanel').isValid();
}