[pve-devel] [PATCH manager] add a warning message if the EFI disk is missing fix #1112

Emmanuel Kasper e.kasper at proxmox.com
Tue Sep 20 15:19:25 CEST 2016


do not display an obstrusive popup on top of a modal window,
but display a hint under the combo box
---
 www/manager6/qemu/QemuBiosEdit.js | 43 +++++++++++++++++++++++++++++++++++----
 1 file changed, 39 insertions(+), 4 deletions(-)

diff --git a/www/manager6/qemu/QemuBiosEdit.js b/www/manager6/qemu/QemuBiosEdit.js
index 1dbaab3..623ec7e 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();
+
     }
 });
-- 
2.1.4





More information about the pve-devel mailing list