give error instead of disabling efidisk button

when seabios is selected, we do not want to simply
disable the add efi button, because it is not clear
why it is disabled

so we give a meaningful error message instead

the button is still 'just' disabled when there
is already an efidisk, because then it is clear
that you alread have one

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2016-09-13 15:12:26 +02:00 committed by Dietmar Maurer
parent f3777880e9
commit 1535df627b

View File

@ -436,12 +436,20 @@ Ext.define('PVE.qemu.HardwareView', {
iconCls: 'pve-itype-icon-storage', iconCls: 'pve-itype-icon-storage',
disabled: !caps.vms['VM.Config.Disk'], disabled: !caps.vms['VM.Config.Disk'],
handler: function() { handler: function() {
var rstoredata = me.rstore.getData().map;
// check if ovmf is configured
if (rstoredata.bios && rstoredata.bios.data.value === 'ovmf') {
var win = Ext.create('PVE.qemu.EFIDiskEdit', { var win = Ext.create('PVE.qemu.EFIDiskEdit', {
url: '/api2/extjs/' + baseurl, url: '/api2/extjs/' + baseurl,
pveSelNode: me.pveSelNode pveSelNode: me.pveSelNode
}); });
win.on('destroy', reload); win.on('destroy', reload);
win.show(); win.show();
} else {
Ext.Msg.alert('Error',gettext('Please select OVMF(UEFI) as BIOS first.'));
}
} }
}); });
@ -449,16 +457,10 @@ Ext.define('PVE.qemu.HardwareView', {
var sm = me.getSelectionModel(); var sm = me.getSelectionModel();
var rec = sm.getSelection()[0]; var rec = sm.getSelection()[0];
// check if there is already an efidisk // disable button when we have an efidisk already
var rstoredata = me.rstore.getData().map; // disable is ok in this case, because you can instantly
if (rstoredata.bios && // see that there is already one
rstoredata.bios.data.value === 'ovmf' && efidisk_menuitem.setDisabled(me.rstore.getData().map.efidisk0 !== undefined);
!rstoredata.efidisk0) {
// we have ovmf configured and no efidisk
efidisk_menuitem.setDisabled(false);
} else {
efidisk_menuitem.setDisabled(true);
}
if (!rec) { if (!rec) {
remove_btn.disable(); remove_btn.disable();