]> git.proxmox.com Git - pve-manager.git/commitdiff
correctly display error messages in ObjectGrid
authorDietmar Maurer <dietmar@proxmox.com>
Mon, 16 Jan 2012 06:46:32 +0000 (07:46 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Mon, 16 Jan 2012 10:07:24 +0000 (11:07 +0100)
www/manager/data/PVEProxy.js
www/manager/dc/OptionView.js
www/manager/grid/ObjectGrid.js
www/manager/node/ServiceView.js

index 50da9356da27b44624baba210af1472b10d836d2..111a520ce6f0be4d3c5d53b6ce74f656d8b2fd77 100644 (file)
@@ -18,6 +18,10 @@ Ext.define('PVE.RestProxy', {
            reader: {
                type: 'json',
                root: 'data'
+           },
+           afterRequest: function(request, success) {
+               me.fireEvent('afterload', me, request, success);
+               return;
            }
        });
 
index b86158d8d392c46be87f60fcc1c8515018d0b7fd..3ee40a1b0327578120289c438930302b2709e8cb 100644 (file)
@@ -107,7 +107,7 @@ Ext.define('PVE.dc.OptionView', {
        });
 
        Ext.applyIf(me, {
-           url: "/api2/extjs/cluster/options",
+           url: "/api2/json/cluster/options",
            cwidth1: 130,
            interval: 1000,
            selModel: sm,
index 349b24bb7f70a69b682cd84885f9c2f482f875e2..04b43539faa05f4915d01bef7a3c188e707ceea6 100644 (file)
@@ -91,19 +91,26 @@ Ext.define('PVE.grid.ObjectGrid', {
        me.mon(rstore, 'beforeload', function(s, operation, eOpts) {
            if (!load_count) {
                me.setLoading(true);
-           } 
+           }
        });
 
-       me.mon(rstore, 'load', function(s, records, success) {
-
+       me.mon(rstore.proxy, 'afterload', function(proxy, request, success) {
            load_count++;
-
            me.setLoading(false);
 
-           if (!success) {
-               me.setLoading("Data load error");
+           if (success) {
                return;
-           }       
+           }
+
+           var msg;
+           var operation = request.operation;
+           var error = operation.getError();
+           if (error.statusText) {
+               msg = error.statusText + ' (' + error.status + ')';
+           } else {
+               msg = gettext('Connection error');
+           }
+           me.setLoading(msg);
        });
 
        Ext.applyIf(me, {
index 8e05f1d7caf2a9fdec96ad5f8181df2e742d9adf..ae74bdad5236d35f25b0c8c8e438eec5702fc41e 100644 (file)
@@ -107,13 +107,31 @@ Ext.define('PVE.node.ServiceView', {
 
        me.mon(store, 'datachanged', set_button_status);
 
-       me.mon(rstore, 'load', function(s, records, success) {
-           if (!success) {
-               me.setLoading("Data load error");
+       var load_count = 0;
+
+       me.mon(rstore, 'beforeload', function(s, operation, eOpts) {
+           if (!load_count) {
+               me.setLoading(true);
+           }
+       });
+
+       me.mon(rstore.proxy, 'afterload', function(proxy, request, success) {
+           load_count++;
+           me.setLoading(false);
+
+           if (success) {
                return;
+           }
+
+           var msg;
+           var operation = request.operation;
+           var error = operation.getError();
+           if (error.statusText) {
+               msg = error.statusText + ' (' + error.status + ')';
            } else {
-               me.setLoading(false);
+               msg = gettext('Connection error');
            }
+           me.setLoading(msg);
        });
 
        Ext.apply(me, {