[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