]>
Commit | Line | Data |
---|---|---|
1c67cee1 | 1 | Ext.define('PVE.qemu.EFIDiskInputPanel', { |
ef4ef788 | 2 | extend: 'Proxmox.panel.InputPanel', |
1c67cee1 DC |
3 | alias: 'widget.pveEFIDiskInputPanel', |
4 | ||
5 | insideWizard: false, | |
6 | ||
7 | unused: false, // ADD usused disk imaged | |
8 | ||
9 | vmconfig: {}, // used to select usused disks | |
10 | ||
1c67cee1 DC |
11 | onGetValues: function(values) { |
12 | var me = this; | |
13 | ||
80ddbcdf TL |
14 | if (me.disabled) { |
15 | return {}; | |
16 | } | |
17 | ||
1c67cee1 DC |
18 | var confid = 'efidisk0'; |
19 | ||
20 | if (values.hdimage) { | |
21 | me.drive.file = values.hdimage; | |
22 | } else { | |
23 | // we use 1 here, because for efi the size gets overridden from the backend | |
24 | me.drive.file = values.hdstorage + ":1"; | |
25 | } | |
26 | ||
fd12adfb TL |
27 | // always default to newer 4m type with secure boot support, if we're |
28 | // adding a new EFI disk there can't be any old state anyway | |
29 | me.drive.efitype = '4m'; | |
30 | me.drive['pre-enrolled-keys'] = values.preEnrolledKeys; | |
31 | delete values.preEnrolledKeys; | |
32 | ||
1c67cee1 | 33 | me.drive.format = values.diskformat; |
fd12adfb | 34 | let params = {}; |
1c67cee1 DC |
35 | params[confid] = PVE.Parser.printQemuDrive(me.drive); |
36 | return params; | |
37 | }, | |
38 | ||
39 | setNodename: function(nodename) { | |
40 | var me = this; | |
c56689d0 DC |
41 | me.down('#hdstorage').setNodename(nodename); |
42 | me.down('#hdimage').setStorage(undefined, nodename); | |
1c67cee1 DC |
43 | }, |
44 | ||
80ddbcdf TL |
45 | setDisabled: function(disabled) { |
46 | let me = this; | |
47 | me.down('pveDiskStorageSelector').setDisabled(disabled); | |
fd12adfb | 48 | me.down('proxmoxcheckbox[name=preEnrolledKeys]').setDisabled(disabled); |
80ddbcdf TL |
49 | me.callParent(arguments); |
50 | }, | |
51 | ||
8058410f | 52 | initComponent: function() { |
1c67cee1 DC |
53 | var me = this; |
54 | ||
55 | me.drive = {}; | |
56 | ||
80ddbcdf | 57 | me.items = [ |
c570b6a9 TL |
58 | { |
59 | xtype: 'pveDiskStorageSelector', | |
60 | name: 'efidisk0', | |
7d21fd93 | 61 | storageLabel: gettext('EFI Storage'), |
c570b6a9 TL |
62 | storageContent: 'images', |
63 | nodename: me.nodename, | |
80ddbcdf | 64 | disabled: me.disabled, |
f6710aac | 65 | hideSize: true, |
c570b6a9 | 66 | }, |
fd12adfb TL |
67 | { |
68 | xtype: 'proxmoxcheckbox', | |
69 | name: 'preEnrolledKeys', | |
70 | checked: true, | |
71 | fieldLabel: gettext("Pre-Enroll keys"), | |
72 | disabled: me.disabled, | |
73 | //boxLabel: '(e.g., Microsoft secure-boot keys')', | |
74 | autoEl: { | |
75 | tag: 'div', | |
7d21fd93 | 76 | 'data-qtip': gettext('Use EFIvars image with standard distribution and Microsoft secure boot keys enrolled.'), |
fd12adfb TL |
77 | }, |
78 | }, | |
c570b6a9 TL |
79 | { |
80 | xtype: 'label', | |
81 | text: gettext("Warning: The VM currently does not uses 'OVMF (UEFI)' as BIOS."), | |
f71b7c28 | 82 | userCls: 'pmx-hint', |
c570b6a9 TL |
83 | hidden: me.usesEFI, |
84 | }, | |
85 | ]; | |
86 | ||
1c67cee1 | 87 | me.callParent(); |
f6710aac | 88 | }, |
1c67cee1 DC |
89 | }); |
90 | ||
91 | Ext.define('PVE.qemu.EFIDiskEdit', { | |
9fccc702 | 92 | extend: 'Proxmox.window.Edit', |
1c67cee1 DC |
93 | |
94 | isAdd: true, | |
95 | subject: gettext('EFI Disk'), | |
96 | ||
c570b6a9 | 97 | width: 450, |
8058410f | 98 | initComponent: function() { |
1c67cee1 DC |
99 | var me = this; |
100 | ||
101 | var nodename = me.pveSelNode.data.node; | |
102 | if (!nodename) { | |
103 | throw "no node name specified"; | |
104 | } | |
105 | ||
1c67cee1 DC |
106 | me.items = [{ |
107 | xtype: 'pveEFIDiskInputPanel', | |
c8802a60 | 108 | onlineHelp: 'qm_bios_and_uefi', |
1c67cee1 DC |
109 | confid: me.confid, |
110 | nodename: nodename, | |
c570b6a9 TL |
111 | usesEFI: me.usesEFI, |
112 | isCreate: true, | |
1c67cee1 | 113 | }]; |
1c67cee1 DC |
114 | |
115 | me.callParent(); | |
f6710aac | 116 | }, |
1c67cee1 | 117 | }); |