]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/qemu/HDEfi.js
ui: guest import: add warning for losing efi state
[pve-manager.git] / www / manager6 / qemu / HDEfi.js
index 74e300f4665c5888d47a11b8216ab167daeb7aa1..a8ca8f56b610748441dce6679e22b9bd80c97ae2 100644 (file)
@@ -11,6 +11,10 @@ Ext.define('PVE.qemu.EFIDiskInputPanel', {
     onGetValues: function(values) {
        var me = this;
 
+       if (me.disabled) {
+           return {};
+       }
+
        var confid = 'efidisk0';
 
        if (values.hdimage) {
@@ -20,8 +24,14 @@ Ext.define('PVE.qemu.EFIDiskInputPanel', {
            me.drive.file = values.hdstorage + ":1";
        }
 
+       // always default to newer 4m type with secure boot support, if we're
+       // adding a new EFI disk there can't be any old state anyway
+       me.drive.efitype = '4m';
+       me.drive['pre-enrolled-keys'] = values.preEnrolledKeys;
+       delete values.preEnrolledKeys;
+
        me.drive.format = values.diskformat;
-       var params = {};
+       let params = {};
        params[confid] = PVE.Parser.printQemuDrive(me.drive);
        return params;
     },
@@ -32,19 +42,40 @@ Ext.define('PVE.qemu.EFIDiskInputPanel', {
        me.down('#hdimage').setStorage(undefined, nodename);
     },
 
-    initComponent : function() {
+    setDisabled: function(disabled) {
+       let me = this;
+       me.down('pveDiskStorageSelector').setDisabled(disabled);
+       me.down('proxmoxcheckbox[name=preEnrolledKeys]').setDisabled(disabled);
+       me.callParent(arguments);
+    },
+
+    initComponent: function() {
        var me = this;
 
        me.drive = {};
 
-       me.items= [
+       me.items = [
            {
                xtype: 'pveDiskStorageSelector',
                name: 'efidisk0',
+               storageLabel: gettext('EFI Storage'),
                storageContent: 'images',
                nodename: me.nodename,
+               disabled: me.disabled,
                hideSize: true,
            },
+           {
+               xtype: 'proxmoxcheckbox',
+               name: 'preEnrolledKeys',
+               checked: true,
+               fieldLabel: gettext("Pre-Enroll keys"),
+               disabled: me.disabled,
+               //boxLabel: '(e.g., Microsoft secure-boot keys')',
+               autoEl: {
+                   tag: 'div',
+                   'data-qtip': gettext('Use EFIvars image with standard distribution and Microsoft secure boot keys enrolled.'),
+               },
+           },
            {
                xtype: 'label',
                text: gettext("Warning: The VM currently does not uses 'OVMF (UEFI)' as BIOS."),
@@ -64,7 +95,7 @@ Ext.define('PVE.qemu.EFIDiskEdit', {
     subject: gettext('EFI Disk'),
 
     width: 450,
-    initComponent : function() {
+    initComponent: function() {
        var me = this;
 
        var nodename = me.pveSelNode.data.node;