[pve-devel] [PATCH manager v3 6/6] gui: let users add PCI devices
Dominik Csapak
d.csapak at proxmox.com
Thu Nov 22 11:35:46 CET 2018
this enables the gui part to enable the user to add a pci device
via the gui
we disable the button after 4 devices, since that is the maximum
in the backend
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
changes from v2:
* correct noSysConsolePerm check
www/manager6/qemu/HardwareView.js | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/www/manager6/qemu/HardwareView.js b/www/manager6/qemu/HardwareView.js
index fdfe80f1..ca825798 100644
--- a/www/manager6/qemu/HardwareView.js
+++ b/www/manager6/qemu/HardwareView.js
@@ -219,6 +219,7 @@ Ext.define('PVE.qemu.HardwareView', {
order: i,
tdCls: 'pve-itype-icon-pci',
never_delete: caps.nodes['Sys.Console'] ? false : true,
+ editor: caps.nodes['Sys.Console'] ? 'PVE.qemu.PCIEdit' : undefined,
header: gettext('PCI Device') + ' (' + confid + ')'
};
}
@@ -501,11 +502,14 @@ Ext.define('PVE.qemu.HardwareView', {
// see that there is already one
efidisk_menuitem.setDisabled(me.rstore.getData().map.efidisk0 !== undefined);
// en/disable usb add button
- var count = 0;
+ var usbcount = 0;
+ var pcicount = 0;
var hasCloudInit = false;
me.rstore.getData().items.forEach(function(item){
if (/^usb\d+/.test(item.id)) {
- count++;
+ usbcount++;
+ } else if (/^hostpci\d+/.test(item.id)) {
+ pcicount++;
}
if (!hasCloudInit && /vm-.*-cloudinit/.test(item.data.value)) {
hasCloudInit = true;
@@ -515,7 +519,8 @@ Ext.define('PVE.qemu.HardwareView', {
// heuristic only for disabling some stuff, the backend has the final word.
var noSysConsolePerm = !caps.nodes['Sys.Console'];
- me.down('#addusb').setDisabled(noSysConsolePerm || (count >= 5));
+ me.down('#addusb').setDisabled(noSysConsolePerm || (usbcount >= 5));
+ me.down('#addpci').setDisabled(noSysConsolePerm || (pcicount >= 4));
me.down('#addci').setDisabled(noSysConsolePerm || hasCloudInit);
if (!rec) {
@@ -619,6 +624,20 @@ Ext.define('PVE.qemu.HardwareView', {
}
},
{
+ text: gettext('PCI Device'),
+ itemId: 'addpci',
+ iconCls: 'pve-itype-icon-pci',
+ disabled: !caps.nodes['Sys.Console'],
+ handler: function() {
+ var win = Ext.create('PVE.qemu.PCIEdit', {
+ url: '/api2/extjs/' + baseurl,
+ pveSelNode: me.pveSelNode
+ });
+ win.on('destroy', reload);
+ win.show();
+ }
+ },
+ {
text: gettext('Serial Port'),
itemId: 'addserial',
iconCls: 'pve-itype-icon-serial',
--
2.11.0
More information about the pve-devel
mailing list