ui: datastore content: show last verify result from a snapshot
Double-click on the verify grid-cell of a specific snapshot (not the group) opens the relevant task log. The date of the last verify is shown as tool-tip. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
3b2046d263
commit
7b212c1f79
|
@ -10,6 +10,7 @@ Ext.define('pbs-data-store-snapshots', {
|
||||||
},
|
},
|
||||||
'files',
|
'files',
|
||||||
'owner',
|
'owner',
|
||||||
|
'verification',
|
||||||
{ name: 'size', type: 'int', allowNull: true, },
|
{ name: 'size', type: 'int', allowNull: true, },
|
||||||
{
|
{
|
||||||
name: 'crypt-mode',
|
name: 'crypt-mode',
|
||||||
|
@ -209,6 +210,10 @@ Ext.define('PBS.DataStoreContent', {
|
||||||
group.size = item.size;
|
group.size = item.size;
|
||||||
group.owner = item.owner;
|
group.owner = item.owner;
|
||||||
}
|
}
|
||||||
|
if (item.verification &&
|
||||||
|
(!group.verification || group.verification.state !== 'failed')) {
|
||||||
|
group.verification = item.verification;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
group.count = group.children.length;
|
group.count = group.children.length;
|
||||||
|
@ -563,6 +568,41 @@ Ext.define('PBS.DataStoreContent', {
|
||||||
return (iconTxt + PBS.Utils.cryptText[v]) || Proxmox.Utils.unknownText
|
return (iconTxt + PBS.Utils.cryptText[v]) || Proxmox.Utils.unknownText
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
header: gettext('Verify State'),
|
||||||
|
sortable: true,
|
||||||
|
dataIndex: 'verification',
|
||||||
|
renderer: (v, meta, record) => {
|
||||||
|
if (v === undefined || v === null || !v.state) {
|
||||||
|
//meta.tdCls = "x-grid-row-loading";
|
||||||
|
return record.data.leaf ? '' : gettext('None');
|
||||||
|
}
|
||||||
|
let task = Proxmox.Utils.parse_task_upid(v.upid);
|
||||||
|
let verify_time = Proxmox.Utils.render_timestamp(task.starttime);
|
||||||
|
let iconCls = v.state === 'ok' ? 'check good' : 'times critical';
|
||||||
|
let tip = `Verify task started on ${verify_time}`;
|
||||||
|
if (record.parentNode.id === 'root') {
|
||||||
|
tip = v.state === 'ok'
|
||||||
|
? 'All verification OK in backup group'
|
||||||
|
: 'At least one failed verification in backup group!';
|
||||||
|
}
|
||||||
|
return `<span data-qtip="${tip}">
|
||||||
|
<i class="fa fa-fw fa-${iconCls}"></i> ${v.state}
|
||||||
|
</span>`;
|
||||||
|
},
|
||||||
|
listeners: {
|
||||||
|
dblclick: function(view, el, row, col, ev, rec) {
|
||||||
|
let data = rec.data || {};
|
||||||
|
let verify = data.verification;
|
||||||
|
if (verify && verify.upid && rec.parentNode.id !== 'root') {
|
||||||
|
let win = Ext.create('Proxmox.window.TaskViewer', {
|
||||||
|
upid: verify.upid,
|
||||||
|
});
|
||||||
|
win.show();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
tbar: [
|
tbar: [
|
||||||
|
|
Loading…
Reference in New Issue