[pve-devel] [PATCH manager 1/2] give error instead of disabling efidisk button

Dominik Csapak d.csapak at proxmox.com
Tue Sep 13 15:12:26 CEST 2016


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 at proxmox.com>
---
 www/manager6/qemu/HardwareView.js | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/www/manager6/qemu/HardwareView.js b/www/manager6/qemu/HardwareView.js
index f4b12d4..42dcb27 100644
--- a/www/manager6/qemu/HardwareView.js
+++ b/www/manager6/qemu/HardwareView.js
@@ -436,12 +436,20 @@ Ext.define('PVE.qemu.HardwareView', {
 	    iconCls: 'pve-itype-icon-storage',
 	    disabled: !caps.vms['VM.Config.Disk'],
 	    handler: function() {
-		var win = Ext.create('PVE.qemu.EFIDiskEdit', {
-		    url: '/api2/extjs/' + baseurl,
-		    pveSelNode: me.pveSelNode
-		});
-		win.on('destroy', reload);
-		win.show();
+
+		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', {
+			url: '/api2/extjs/' + baseurl,
+			pveSelNode: me.pveSelNode
+		    });
+		    win.on('destroy', reload);
+		    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 rec = sm.getSelection()[0];
 
-	    // check if there is already an efidisk
-	    var rstoredata = me.rstore.getData().map;
-	    if (rstoredata.bios &&
-		rstoredata.bios.data.value === 'ovmf' &&
-		!rstoredata.efidisk0) {
-		// we have ovmf configured and no efidisk
-		efidisk_menuitem.setDisabled(false);
-	    } else {
-		efidisk_menuitem.setDisabled(true);
-	    }
+	    // disable button when we have an efidisk already
+	    // disable is ok in this case, because you can instantly
+	    // see that there is already one
+	    efidisk_menuitem.setDisabled(me.rstore.getData().map.efidisk0 !== undefined);
 
 	    if (!rec) {
 		remove_btn.disable();
-- 
2.1.4





More information about the pve-devel mailing list