openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #04746
[Merge] lp:~openerp-dev/openobject-client-web/6.0-opw-4547-sma into lp:openobject-client-web/6.0
Sananaz (Open ERP) has proposed merging lp:~openerp-dev/openobject-client-web/6.0-opw-4547-sma into lp:openobject-client-web/6.0.
Requested reviews:
OpenERP Core Team (openerp)
Related bugs:
Bug #699960 in OpenERP Web Client: "[Trunk] many2many with many records doesn't load"
https://bugs.launchpad.net/openobject-client-web/+bug/699960
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-4547-sma/+merge/55322
Hello xavier,
I am already discuss this problem with you.
In listview when records are 500/unlimited then firefox does not load the records.
Due to firefox headers issue. I have injecting cherrypy.request.terp_concurrency_info in the json responses instead of using headers for ListView.
Thank you.
--
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-4547-sma/+merge/55322
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-client-web/6.0-opw-4547-sma.
=== modified file 'addons/openerp/controllers/listgrid.py'
--- addons/openerp/controllers/listgrid.py 2011-02-02 12:11:36 +0000
+++ addons/openerp/controllers/listgrid.py 2011-03-29 11:53:27 +0000
@@ -299,7 +299,10 @@
if frm.logs and frm.screen.view_type == 'tree':
server_logs = ustr(frm.logs.render())
- return dict(ids=ids, count=count, view=view, logs=server_logs)
+
+ concurrency_info = getattr(cherrypy.request, 'terp_concurrency_info', None)
+
+ return dict(ids=ids, count=count, view=view, logs=server_logs, concurrency_info=concurrency_info)
@expose('json')
def button_action(self, **kw):
=== modified file 'addons/openerp/static/javascript/listgrid.js'
--- addons/openerp/static/javascript/listgrid.js 2011-02-17 12:15:43 +0000
+++ addons/openerp/static/javascript/listgrid.js 2011-03-29 11:53:27 +0000
@@ -33,6 +33,7 @@
this.__init__(name);
};
+
ListView.prototype = {
__init__: function(name) {
@@ -844,6 +845,7 @@
: 'arrow_up.gif'
)}));
}
+ update_concurrency_info(obj.concurrency_info)
}
});
}
@@ -924,3 +926,9 @@
}
}
}
+
+function update_concurrency_info(concurrencyInfo) {
+ if (!concurrencyInfo)
+ return;
+ updateConcurrencyInfo(concurrencyInfo);
+}
=== modified file 'addons/openerp/widgets/listgrid.py'
--- addons/openerp/widgets/listgrid.py 2011-03-16 10:03:57 +0000
+++ addons/openerp/widgets/listgrid.py 2011-03-29 11:53:27 +0000
@@ -182,10 +182,13 @@
data = proxy.read(ids, fields.keys() + ['__last_update'], ctx)
except:
pass
-
+
ConcurrencyInfo.update(self.model, data)
+ if cherrypy.response.headers.has_key('X-Concurrency-Info'):
+ # Delete 'X-Concurrency-Info' from header fixed firefox header problem #699960.
+ del cherrypy.response.headers['X-Concurrency-Info']
self.concurrency_info = ConcurrencyInfo(self.model, ids)
-
+
order_data = [(d['id'], d) for d in data]
orderer = dict(zip(ids, count()))
ordering = sorted(order_data, key=lambda object: orderer[object[0]])
Follow ups