ui: tape/ChangerStatus: adapt load/unload to WorkerTask

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

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2021-02-18 09:18:09 +01:00 committed by Dietmar Maurer
parent 970a70b41e
commit 918a367258

View File

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