[pve-devel] [PATCH v6 manager 4/6] added new parameter to pass a command to the newly opened terminal

Dominik Csapak d.csapak at proxmox.com
Thu Feb 28 09:47:06 CET 2019


looks good one thing though

this patch (or actually one between this and the next)
would have been a good place to replace the now deprecated 'upgrade'
for nodes with the cmd: upgrade property

On 2/27/19 3:01 PM, Tim Marx wrote:
> Ext.urlEncode is deprecated, use Ext.Object.toQueryString instead
> 
> Signed-off-by: Tim Marx <t.marx at proxmox.com>
> ---
>   www/manager6/Utils.js                | 21 +++++++++++++--------
>   www/manager6/button/ConsoleButton.js | 12 +++++++-----
>   2 files changed, 20 insertions(+), 13 deletions(-)
> 
> diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
> index 481b5186..b9fa25b7 100644
> --- a/www/manager6/Utils.js
> +++ b/www/manager6/Utils.js
> @@ -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) {
> diff --git a/www/manager6/button/ConsoleButton.js b/www/manager6/button/ConsoleButton.js
> index d825e1fb..0451bf59 100644
> --- a/www/manager6/button/ConsoleButton.js
> +++ b/www/manager6/button/ConsoleButton.js
> @@ -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);
>   	    }
>   	}
>       ],
> 





More information about the pve-devel mailing list