mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-13 23:36:58 +00:00
add efidisk button to add menu
this adds a new button "efi disk" to the qemu hardware add menu this is only enabled if the vm has ovmf enabled and no active efidisk Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
194c9b0964
commit
3b37ab6db8
@ -136,6 +136,7 @@ JSSRC= \
|
|||||||
qemu/HDResize.js \
|
qemu/HDResize.js \
|
||||||
qemu/HDMove.js \
|
qemu/HDMove.js \
|
||||||
qemu/HDThrottle.js \
|
qemu/HDThrottle.js \
|
||||||
|
qemu/HDEfi.js \
|
||||||
qemu/CPUOptions.js \
|
qemu/CPUOptions.js \
|
||||||
qemu/DisplayEdit.js \
|
qemu/DisplayEdit.js \
|
||||||
qemu/KeyboardEdit.js \
|
qemu/KeyboardEdit.js \
|
||||||
|
@ -139,6 +139,9 @@ Ext.define('PVE.qemu.HardwareView', {
|
|||||||
},
|
},
|
||||||
cpulimit: {
|
cpulimit: {
|
||||||
visible: false
|
visible: false
|
||||||
|
},
|
||||||
|
bios: {
|
||||||
|
visible: false
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -428,10 +431,35 @@ Ext.define('PVE.qemu.HardwareView', {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var efidisk_menuitem = Ext.create('Ext.menu.Item',{
|
||||||
|
text: gettext('EFI Disk'),
|
||||||
|
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 set_button_status = function() {
|
var set_button_status = function() {
|
||||||
var sm = me.getSelectionModel();
|
var sm = me.getSelectionModel();
|
||||||
var rec = sm.getSelection()[0];
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
if (!rec) {
|
if (!rec) {
|
||||||
remove_btn.disable();
|
remove_btn.disable();
|
||||||
edit_btn.disable();
|
edit_btn.disable();
|
||||||
@ -450,6 +478,9 @@ Ext.define('PVE.qemu.HardwareView', {
|
|||||||
rowdef.tdCls == 'pve-itype-icon-storage' &&
|
rowdef.tdCls == 'pve-itype-icon-storage' &&
|
||||||
(value && !value.match(/media=cdrom/));
|
(value && !value.match(/media=cdrom/));
|
||||||
|
|
||||||
|
var isEfi = (key === 'efidisk0');
|
||||||
|
|
||||||
|
|
||||||
remove_btn.setDisabled(rec.data['delete'] || (rowdef.never_delete === true));
|
remove_btn.setDisabled(rec.data['delete'] || (rowdef.never_delete === true));
|
||||||
|
|
||||||
edit_btn.setDisabled(rec.data['delete'] || !rowdef.editor);
|
edit_btn.setDisabled(rec.data['delete'] || !rowdef.editor);
|
||||||
@ -458,7 +489,7 @@ Ext.define('PVE.qemu.HardwareView', {
|
|||||||
|
|
||||||
move_btn.setDisabled(pending || !isDisk);
|
move_btn.setDisabled(pending || !isDisk);
|
||||||
|
|
||||||
diskthrottle_btn.setDisabled(pending || !isDisk);
|
diskthrottle_btn.setDisabled(pending || !isDisk || isEfi);
|
||||||
|
|
||||||
revert_btn.setDisabled(!pending);
|
revert_btn.setDisabled(!pending);
|
||||||
|
|
||||||
@ -511,7 +542,8 @@ Ext.define('PVE.qemu.HardwareView', {
|
|||||||
win.on('destroy', reload);
|
win.on('destroy', reload);
|
||||||
win.show();
|
win.show();
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
efidisk_menuitem
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user