added new parameter to pass a command to the newly opened terminal
Ext.urlEncode is deprecated, use Ext.Object.toQueryString instead Signed-off-by: Tim Marx <t.marx@proxmox.com> Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
43f1b31f22
commit
798f377656
@ -809,12 +809,12 @@ Ext.define('PVE.Utils', { utilities: {
|
||||
function(m, addr, offset, original) { return addr; });
|
||||
},
|
||||
|
||||
openDefaultConsoleWindow: function(consoles, vmtype, vmid, nodename, vmname) {
|
||||
openDefaultConsoleWindow: function(consoles, vmtype, vmid, nodename, vmname, cmd) {
|
||||
var dv = PVE.Utils.defaultViewer(consoles);
|
||||
PVE.Utils.openConsoleWindow(dv, vmtype, vmid, nodename, vmname);
|
||||
PVE.Utils.openConsoleWindow(dv, vmtype, vmid, nodename, vmname, cmd);
|
||||
},
|
||||
|
||||
openConsoleWindow: function(viewer, vmtype, vmid, nodename, vmname) {
|
||||
openConsoleWindow: function(viewer, vmtype, vmid, nodename, vmname, cmd) {
|
||||
// kvm, lxc, shell, upgrade
|
||||
|
||||
if (vmid == undefined && (vmtype === 'kvm' || vmtype === 'lxc')) {
|
||||
@ -826,9 +826,9 @@ Ext.define('PVE.Utils', { utilities: {
|
||||
}
|
||||
|
||||
if (viewer === 'html5') {
|
||||
PVE.Utils.openVNCViewer(vmtype, vmid, nodename, vmname);
|
||||
PVE.Utils.openVNCViewer(vmtype, vmid, nodename, vmname, cmd);
|
||||
} else if (viewer === 'xtermjs') {
|
||||
Proxmox.Utils.openXtermJsViewer(vmtype, vmid, nodename, vmname);
|
||||
Proxmox.Utils.openXtermJsViewer(vmtype, vmid, nodename, vmname, cmd);
|
||||
} else if (viewer === 'vv') {
|
||||
var url;
|
||||
var params = { proxy: PVE.Utils.windowHostname() };
|
||||
@ -845,6 +845,10 @@ Ext.define('PVE.Utils', { utilities: {
|
||||
url = '/nodes/' + nodename + '/spiceshell';
|
||||
params.upgrade = 1;
|
||||
PVE.Utils.openSpiceViewer(url, params);
|
||||
} else if (vmtype === 'cmd') {
|
||||
url = '/nodes/' + nodename + '/spiceshell';
|
||||
params.cmd = cmd;
|
||||
PVE.Utils.openSpiceViewer(url, params);
|
||||
}
|
||||
} else {
|
||||
throw "unknown viewer type";
|
||||
@ -871,14 +875,15 @@ Ext.define('PVE.Utils', { utilities: {
|
||||
return dv;
|
||||
},
|
||||
|
||||
openVNCViewer: function(vmtype, vmid, nodename, vmname) {
|
||||
var url = Ext.urlEncode({
|
||||
openVNCViewer: function(vmtype, vmid, nodename, vmname, cmd) {
|
||||
var url = Ext.Object.toQueryString({
|
||||
console: vmtype, // kvm, lxc, upgrade or shell
|
||||
novnc: 1,
|
||||
vmid: vmid,
|
||||
vmname: vmname,
|
||||
node: nodename,
|
||||
resize: 'off'
|
||||
resize: 'off',
|
||||
cmd: cmd
|
||||
});
|
||||
var nw = window.open("?" + url, '_blank', "innerWidth=745,innerheight=427");
|
||||
if (nw) {
|
||||
|
@ -2,7 +2,9 @@ Ext.define('PVE.button.ConsoleButton', {
|
||||
extend: 'Ext.button.Split',
|
||||
alias: 'widget.pveConsoleButton',
|
||||
|
||||
consoleType: 'shell', // one of 'shell', 'kvm', 'lxc', 'upgrade'
|
||||
consoleType: 'shell', // one of 'shell', 'kvm', 'lxc', 'upgrade', 'cmd'
|
||||
|
||||
cmd: undefined,
|
||||
|
||||
consoleName: undefined,
|
||||
|
||||
@ -38,7 +40,7 @@ Ext.define('PVE.button.ConsoleButton', {
|
||||
xtermjs: me.enableXtermjs
|
||||
};
|
||||
PVE.Utils.openDefaultConsoleWindow(consoles, me.consoleType, me.vmid,
|
||||
me.nodename, me.consoleName);
|
||||
me.nodename, me.consoleName, me.cmd);
|
||||
},
|
||||
|
||||
menu: [
|
||||
@ -49,7 +51,7 @@ Ext.define('PVE.button.ConsoleButton', {
|
||||
type: 'html5',
|
||||
handler: function(button) {
|
||||
var me = this.up('button');
|
||||
PVE.Utils.openConsoleWindow(button.type, me.consoleType, me.vmid, me.nodename, me.consoleName);
|
||||
PVE.Utils.openConsoleWindow(button.type, me.consoleType, me.vmid, me.nodename, me.consoleName, me.cmd);
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -60,7 +62,7 @@ Ext.define('PVE.button.ConsoleButton', {
|
||||
iconCls: 'pve-itype-icon-virt-viewer',
|
||||
handler: function(button) {
|
||||
var me = this.up('button');
|
||||
PVE.Utils.openConsoleWindow(button.type, me.consoleType, me.vmid, me.nodename, me.consoleName);
|
||||
PVE.Utils.openConsoleWindow(button.type, me.consoleType, me.vmid, me.nodename, me.consoleName, me.cmd);
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -70,7 +72,7 @@ Ext.define('PVE.button.ConsoleButton', {
|
||||
type: 'xtermjs',
|
||||
handler: function(button) {
|
||||
var me = this.up('button');
|
||||
PVE.Utils.openConsoleWindow(button.type, me.consoleType, me.vmid, me.nodename, me.consoleName);
|
||||
PVE.Utils.openConsoleWindow(button.type, me.consoleType, me.vmid, me.nodename, me.consoleName, me.cmd);
|
||||
}
|
||||
}
|
||||
],
|
||||
|
Loading…
x
Reference in New Issue
Block a user