[pve-devel] [PATCH manager] ui: pool members: avoid setting request parameter for all edit windows

Stefan Sterz s.sterz at proxmox.com
Thu Mar 14 15:43:58 CET 2024


On Wed Mar 13, 2024 at 9:44 AM CET, Friedrich Weber wrote:
> Currently, after adding a storage to a pool, opening any edit window
> will send a GET request with a superfluous `poolid` parameter and
> cause a parameter verification error in the GUI. This breaks all edit
> windows of the current session. A workaround is to reload the current
> browser session.
>
> This happens because the `PVE.pool.AddStorage` component inadvertently
> adds `poolid` to an `extraRequestParams` object that is shared by all
> instances of `Proxmox.window.Edit`, affecting all edit windows in the
> current session. Fix this by instead creating a new object that is
> local to the component.
>
> Fixes: cd731902b7a724b1ab747276f9c6343734f1d8cb
> Signed-off-by: Friedrich Weber <f.weber at proxmox.com>
> ---
>
> Notes:
>     To check if we have this problem at other places, I did a quick search
>     for `extraRequestParams` in PVE+PBS: Seems like for all other usages,
>     the object is created fresh already.
>
>  www/manager6/grid/PoolMembers.js | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/www/manager6/grid/PoolMembers.js b/www/manager6/grid/PoolMembers.js
> index 75f20cab..61e27dff 100644
> --- a/www/manager6/grid/PoolMembers.js
> +++ b/www/manager6/grid/PoolMembers.js
> @@ -123,7 +123,7 @@ Ext.define('PVE.pool.AddStorage', {
>  	me.isAdd = true;
>  	me.url = "/pools/";
>  	me.method = 'PUT';
> -	me.extraRequestParams.poolid = me.pool;
> +	me.extraRequestParams = { 'poolid': me.pool };

note that you don't need to quote `poolid` here as it doesn't contain
hyphens as such. quickly grepping over our codebase it seems that not
quoting keys is preferred if it isn't needed

>
>  	Ext.apply(me, {
>  	    subject: gettext('Storage'),





More information about the pve-devel mailing list