return task;
},
+ parse_task_status: function(status) {
+ if (status === 'OK') {
+ return 'ok';
+ }
+
+ if (status === 'unknown') {
+ return 'unknown';
+ }
+
+ let match = status.match(/^WARNINGS: (.*)$/);
+ if (match) {
+ return 'warning';
+ }
+
+ return 'error';
+ },
+
render_duration: function(value) {
if (value === undefined) {
return '-';
getRowClass: function(record, index) {
let status = record.get('status');
- if (status && status !== 'OK') {
- return "proxmox-invalid-row";
+ if (status) {
+ let parsed = Proxmox.Utils.parse_task_status(status);
+ if (parsed === 'error') {
+ return "proxmox-invalid-row";
+ } else if (parsed === 'warning') {
+ return "proxmox-warning-row";
+ }
}
return '';
},
dataIndex: 'status',
width: 200,
renderer: function(value, metaData, record) {
- if (value === 'OK') {
- return 'OK';
- }
if (value === undefined && !record.data.endtime) {
metaData.tdCls = "x-grid-row-loading";
return '';
}
- return "ERROR: " + value;
+
+ let parsed = Proxmox.Utils.parse_task_status(value);
+ switch (parsed) {
+ case 'unknown': return Proxmox.Utils.unknownText;
+ case 'error': return Proxmox.Utils.errorText + ': ' + value;
+ case 'ok': // fall-through
+ case 'warning': // fall-through
+ default: return value;
+ }
},
},
],