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 <[email protected]>
---
  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);
            }
        }
      ],



_______________________________________________
pve-devel mailing list
[email protected]
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to