]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
show Task warnings differently
authorDominik Csapak <d.csapak@proxmox.com>
Mon, 15 Jun 2020 14:07:09 +0000 (16:07 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 16 Jun 2020 07:55:17 +0000 (09:55 +0200)
tasks can now show also 'WARNINGS: <count>'
filter it out and provide a 'parse_task_status' function for easy reuse

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/Utils.js
src/css/ext6-pmx.css
src/node/Tasks.js

index c3b13f442f0ce4c69087d48ff42e3ce07bff4c00..2163794fe9b7a881e267ef4acc8f0968dffe83e7 100644 (file)
@@ -711,6 +711,23 @@ utilities: {
        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 '-';
index a7d446b9a2b41deef5b073462ac2a49cc7a93650..df5c73d1865c723dc06372a54e0b39c0a2557cc0 100644 (file)
     background-color: #f3d6d7;
 }
 
+.proxmox-warning-row {
+    background-color: #f5e5d8;
+}
+
 /* some icons have to be color manually */
 .black {
     color: #000;
index 3d9267e7dfb449b71990bf62af9b8a7dcdc215fe..5aff06d3b6215d05d7d84147e89ee46b19f0b976 100644 (file)
@@ -81,8 +81,13 @@ Ext.define('Proxmox.node.Tasks', {
                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 '';
                },
@@ -162,14 +167,19 @@ Ext.define('Proxmox.node.Tasks', {
                    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;
+                       }
                    },
                },
            ],