[pve-devel] [PATCH manager] ui: pool view: fix editing nested pools

Dominik Csapak d.csapak at proxmox.com
Thu Nov 23 11:07:19 CET 2023


for nested pools we have to provide the pool id via a get parameter
instead of in the path, and also we have to extract the data from the
returned array.

To do this, changet the cbind url handler, remove the autoLoad one,
and handle the load ourselves.

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 www/manager6/dc/PoolEdit.js | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/www/manager6/dc/PoolEdit.js b/www/manager6/dc/PoolEdit.js
index d55756e7..db3d23cd 100644
--- a/www/manager6/dc/PoolEdit.js
+++ b/www/manager6/dc/PoolEdit.js
@@ -11,8 +11,7 @@ Ext.define('PVE.dc.PoolEdit', {
     },
 
     cbind: {
-	autoLoad: get => !get('isCreate'),
-	url: get => `/api2/extjs/pools/${get('poolid')}`,
+	url: get => `/api2/extjs/pools/${!get('isCreate') ? '?poolid=' + get('poolid') : ''}`,
 	method: get => get('isCreate') ? 'POST' : 'PUT',
     },
 
@@ -34,4 +33,21 @@ Ext.define('PVE.dc.PoolEdit', {
 	    allowBlank: true,
 	},
     ],
+
+    initComponent: function() {
+	let me = this;
+	me.callParent();
+	if (me.poolid) {
+	    me.load({
+		success: function(response) {
+		    let data = response.result.data;
+		    if (Ext.isArray(data)) {
+			me.setValues(data[0]);
+		    } else {
+			me.setValues(data);
+		    }
+		},
+	    });
+	}
+    },
 });
-- 
2.30.2






More information about the pve-devel mailing list