[pbs-devel] [PATCH proxmox-backup 3/3] ui: tape/ChangerStatus: adapt load/unload to WorkerTask

Dominik Csapak d.csapak at proxmox.com
Thu Feb 18 09:18:09 CET 2021


those are now workertasks (behind a 'POST' request), so show the
progress with the upid

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 www/tape/ChangerStatus.js | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/www/tape/ChangerStatus.js b/www/tape/ChangerStatus.js
index c00ad979..d87b15f5 100644
--- a/www/tape/ChangerStatus.js
+++ b/www/tape/ChangerStatus.js
@@ -117,9 +117,12 @@ Ext.define('PBS.TapeManagement.ChangerStatus', {
 
 	    Ext.create('Proxmox.window.Edit', {
 		isCreate: true,
+		autoShow: true,
 		submitText: gettext('OK'),
 		title: gettext('Load Media into Drive'),
 		url: `/api2/extjs/tape/drive`,
+		showProgress: true,
+		method: 'POST',
 		submitUrl: function(url, values) {
 		    let drive = values.drive;
 		    delete values.drive;
@@ -145,25 +148,26 @@ Ext.define('PBS.TapeManagement.ChangerStatus', {
 			me.reload();
 		    },
 		},
-	    }).show();
+	    });
 	},
 
 	unload: async function(view, rI, cI, button, el, record) {
 	    let me = this;
 	    let drive = record.data.name;
-	    let driveGrid = me.lookup('drives');
-	    Proxmox.Utils.setErrorMask(driveGrid, true);
 	    try {
-		await PBS.Async.api2({
-		    method: 'PUT',
+		let response = await PBS.Async.api2({
+		    method: 'POST',
 		    timeout: 5*60*1000,
 		    url: `/api2/extjs/tape/drive/${encodeURIComponent(drive)}/unload`,
 		});
-		Proxmox.Utils.setErrorMask(driveGrid);
-		me.reload();
+
+		Ext.create('Proxmox.window.TaskProgress', {
+		    autoShow: true,
+		    upid: response.result.data,
+		    taskDone: () => me.reload(),
+		});
 	    } catch (error) {
 		Ext.Msg.alert(gettext('Error'), error);
-		Proxmox.Utils.setErrorMask(driveGrid);
 		me.reload();
 	    }
 	},
-- 
2.20.1






More information about the pbs-devel mailing list