base idea OK, comments inline.

On 07/19/2017 03:45 PM, Dominik Csapak wrote:
Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
---
  www/manager6/lxc/CmdMenu.js  | 9 ++++++++-
  www/manager6/qemu/CmdMenu.js | 3 ++-
  2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/www/manager6/lxc/CmdMenu.js b/www/manager6/lxc/CmdMenu.js
index a96618af..f02f19c4 100644
--- a/www/manager6/lxc/CmdMenu.js
+++ b/www/manager6/lxc/CmdMenu.js
@@ -27,9 +27,12 @@ Ext.define('PVE.lxc.CmdMenu', {
            });
        };
+ var caps = Ext.state.Manager.get('GuiCap');
+
        var running = false;
        var stopped = true;
        var suspended = false;
+       var standalone = PVE.data.ResourceStore.getNodes().length < 2;
switch (me.pveSelNode.data.status) {
            case 'running':
@@ -108,10 +111,14 @@ Ext.define('PVE.lxc.CmdMenu', {
                    });
                }
            },
-           { xtype: 'menuseparator' },
+           {
+               xtype: 'menuseparator',
+               hidden: standalone // we only have 1 element between to 
separators

confusing comment, I'd just omit it...

+           },
            {
                text: gettext('Migrate'),
                iconCls: 'fa fa-fw fa-send-o',
+               hidden: standalone || (caps.vms['VM.Migrate'] ? false : true),

I'd use:
 !caps.vms['VM.Migrate']

easier to read, IMO.

                handler: function() {
                    var win = Ext.create('PVE.window.Migrate', {
                        vmtype: 'lxc',
diff --git a/www/manager6/qemu/CmdMenu.js b/www/manager6/qemu/CmdMenu.js
index aa525b84..0fb832d4 100644
--- a/www/manager6/qemu/CmdMenu.js
+++ b/www/manager6/qemu/CmdMenu.js
@@ -33,6 +33,7 @@ Ext.define('PVE.qemu.CmdMenu', {
        var running = false;
        var stopped = true;
        var suspended = false;
+       var standalone = PVE.data.ResourceStore.getNodes().length < 2;
switch (me.pveSelNode.data.status) {
            case 'running':
@@ -114,7 +115,7 @@ Ext.define('PVE.qemu.CmdMenu', {
            {
                text: gettext('Migrate'),
                iconCls: 'fa fa-fw fa-send-o',
-               hidden: caps.vms['VM.Migrate'] ? false : true,
+               hidden: standalone || (caps.vms['VM.Migrate'] ? false : true),

same as above

                handler: function() {
                    var win = Ext.create('PVE.window.Migrate', {
                        vmtype: 'qemu',


You need to hide the separator in the not-standalone but
no migrate-caps too. In the LXC case its currently easy.
The qemu case is easy too but needs quite long check as there may be more 
elements.

An on-top of your patch fix for this could look like:

----8<----
diff --git a/www/manager6/lxc/CmdMenu.js b/www/manager6/lxc/CmdMenu.js
index f02f19c4..585a5c54 100644
--- a/www/manager6/lxc/CmdMenu.js
+++ b/www/manager6/lxc/CmdMenu.js
@@ -113,7 +113,7 @@ Ext.define('PVE.lxc.CmdMenu', {
            },
            {
                xtype: 'menuseparator',
-               hidden: standalone // we only have 1 element between to 
separators
+               hidden: standalone || !caps.vms['VM.Migrate']
            },
            {
                text: gettext('Migrate'),
diff --git a/www/manager6/qemu/CmdMenu.js b/www/manager6/qemu/CmdMenu.js
index 0fb832d4..c76c511b 100644
--- a/www/manager6/qemu/CmdMenu.js
+++ b/www/manager6/qemu/CmdMenu.js
@@ -111,7 +111,10 @@ Ext.define('PVE.qemu.CmdMenu', {
                    });
                }
            },
-           { xtype: 'menuseparator' },
+           {
+               xtype: 'menuseparator',
+               hidden: !((standalone || caps.vms['VM.Migrate']) || 
caps.vms['VM.Allocate'] || caps.vms['VM.Clone'])
+           },
            {
                text: gettext('Migrate'),
                iconCls: 'fa fa-fw fa-send-o',

---->8----


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to