diff --git a/www/manager6/qemu/QemuBiosEdit.js b/www/manager6/qemu/QemuBiosEdit.js index 1dbaab3d..623ec7ef 100644 --- a/www/manager6/qemu/QemuBiosEdit.js +++ b/www/manager6/qemu/QemuBiosEdit.js @@ -1,22 +1,57 @@ Ext.define('PVE.qemu.BiosEdit', { extend: 'PVE.window.Edit', + alias: 'widget.pveQemuBiosEdit', initComponent : function() { var me = this; + var EFIHint = Ext.createWidget({ + xtype: 'displayfield', //submitValue is false, so we don't get submitted + fieldStyle: 'background-color: LightYellow;', + value: gettext('You need to add an EFI disk for storing the ' + + 'EFI settings. See the online help for details.'), + hidden: true, + }); + Ext.applyIf(me, { subject: 'BIOS', - items: { + items: [ { xtype: 'pveQemuBiosSelector', onlineHelp: 'chapter-qm.html#_bios_and_uefi', name: 'bios', value: '__default__', - fieldLabel: 'BIOS' - } - }); + fieldLabel: 'BIOS', + listeners: { + 'change' : function(field, newValue) { + if (newValue == 'ovmf') { + PVE.Utils.API2Request({ + url : me.url, + method : 'GET', + failure : function(response, opts) { + Ext.Msg.alert(gettext('Error'), response.htmlStatus); + }, + success : function(response, opts) { + var vmConfig = response.result.data; + // there can be only one + if (!vmConfig.efidisk0) { + EFIHint.setVisible(true); + } + } + }); + } else { + if (EFIHint.isVisible()) { + EFIHint.setVisible(false); + } + } + } + } + }, + EFIHint + ] }); me.callParent(); me.load(); + } });