[pve-devel] [PATCH v2 manager 1/1] ui: dc/UserEdit: add warning for disabling users

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Jun 23 11:32:29 CEST 2021


On 23.06.21 09:37, Lorenz Stechauner wrote:
> see #3101
> 
> Signed-off-by: Lorenz Stechauner <l.stechauner at proxmox.com>
> ---

I should have given this a closer look when commenting on the docs v1 patch, sorry.

In general this would miss for removal and when the expiry date would be set to the
past, but it may make sense to place a API call for running tasks from the user and
only show the warning if there are any.

But, with the docs change applied it's at least clearly documented, so IMO not a very
pressing matter.

>  www/manager6/dc/UserEdit.js | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/www/manager6/dc/UserEdit.js b/www/manager6/dc/UserEdit.js
> index b637cd53..65a612fd 100644
> --- a/www/manager6/dc/UserEdit.js
> +++ b/www/manager6/dc/UserEdit.js
> @@ -73,6 +73,12 @@ Ext.define('PVE.dc.UserEdit', {
>  		uncheckedValue: 0,
>  		defaultValue: 1,
>  		checked: true,
> +		listeners: {
> +		    change: function(checkbox) {

the change listener gives you the new value as second parameter, please us that one.

https://docs.sencha.com/extjs/6.0.1/classic/Ext.form.field.Checkbox.html#event-change

> +			let taskWarning = me.lookup('taskWarning');
> +			taskWarning.setHidden(!(me.wasEnabled && !checkbox.value));

for single use, where we are sure that the variable isn't undefined/null, it's often nicer
to just use chaining, e.g., here:

me.lookup('taskWarning').setHidden(!(me.wasEnabled && !value));

also 


> +		    },
> +		},
>  	    },
>  	];
>  
> @@ -93,6 +99,13 @@ Ext.define('PVE.dc.UserEdit', {
>  		fieldLabel: gettext('E-Mail'),
>  		vtype: 'proxmoxMail',
>  	    },
> +	    {
> +		xtype: 'displayfield',
> +		reference: 'taskWarning',
> +		userCls: 'pmx-hint',
> +		value: gettext('Note: Already running tasks of user will not be terminated automatically!'),
> +		hidden: true,
> +	    },

I'd move that to the end of (non-advanced) columnB, looks better there IMO.

>  	];
>  
>  	if (me.isCreate) {
> @@ -161,6 +174,7 @@ Ext.define('PVE.dc.UserEdit', {
>  		success: function(response, options) {
>  		    var data = response.result.data;
>  		    me.setValues(data);
> +		    me.wasEnabled = data.enable;
>  		    if (data.keys) {
>  			if (data.keys === 'x!oath' || data.keys === 'x!u2f') {
>  			    me.down('[name="keys"]').setDisabled(1);
> 






More information about the pve-devel mailing list