[pve-devel] [PATCH manager v2] ui: improve user experience for vm/container transfer between pools

Philipp Hufnagl p.hufnagl at proxmox.com
Fri Sep 8 15:00:10 CEST 2023


Please dont merge. It appers i made an error at testing

On 9/8/23 13:56, Philipp Hufnagl wrote:
> After the implementation of fix #474, it has been suggested that
> instead of requiring the user to click a checkbox allowing migration,
> it should be allowed automatically and and a warning should be displayed
>
> Further it has been discussed to rename the feature from "transfer" to
> "migrate". However and API change would break already implemented usage
> and so it has been decided to call it (for now) transfer everywhere to
>
> Signed-off-by: Philipp Hufnagl <p.hufnagl at proxmox.com>
>
> 	modified:   www/manager6/grid/PoolMembers.js
> ---
>   www/manager6/grid/PoolMembers.js | 26 +++++++++++++++++++-------
>   1 file changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/www/manager6/grid/PoolMembers.js b/www/manager6/grid/PoolMembers.js
> index 224daca3..607042e8 100644
> --- a/www/manager6/grid/PoolMembers.js
> +++ b/www/manager6/grid/PoolMembers.js
> @@ -4,7 +4,11 @@ Ext.define('PVE.pool.AddVM', {
>       height: 420,
>       isAdd: true,
>       isCreate: true,
> +    extraRequestParams: {
> +	transfer: 1,
> +    }
>       initComponent: function() {
> +
>   	var me = this;
>   
>   	if (!me.pool) {
> @@ -35,6 +39,13 @@ Ext.define('PVE.pool.AddVM', {
>   	    ],
>   	});
>   
> +	let transferWarning = Ext.create('Ext.form.field.Display', {
> +	    userCls: 'pmx-hint',
> +	    value: gettext('Virtual guests are removed from current pools'),
> +	    hidden: true,
> +	});
> +
> +
>   	var vmGrid = Ext.create('widget.grid', {
>   	    store: vmStore,
>   	    border: true,
> @@ -46,9 +57,15 @@ Ext.define('PVE.pool.AddVM', {
>   		listeners: {
>   		    selectionchange: function(model, selected, opts) {
>   			var selectedVms = [];
> +			var isTransfer = false;
>   			selected.forEach(function(vm) {
>   			    selectedVms.push(vm.data.vmid);
> +			    if (vm.data.pool?.length) {
> +				isTransfer = true;
> +			    }
>   			});
> +			transfer.setValue(isTransfer);
> +			transferWarning.setHidden(!isTransfer);
>   			vmsField.setValue(selectedVms);
>   		    },
>   		},
> @@ -90,15 +107,10 @@ Ext.define('PVE.pool.AddVM', {
>   	    ],
>   	});
>   
> -	let transfer = Ext.create('Ext.form.field.Checkbox', {
> -	    name: 'transfer',
> -	    boxLabel: gettext('Allow Transfer'),
> -	    inputValue: 1,
> -	    value: 0,
> -	});
> +
>   	Ext.apply(me, {
>   	    subject: gettext('Virtual Machine'),
> -	    items: [vmsField, vmGrid, transfer],
> +	    items: [vmsField, vmGrid, transferWarning, transfer],
>   	});
>   
>   	me.callParent();





More information about the pve-devel mailing list