[IMP] web_analytics: remove rpc to version_info

and put it serverside, in the session info.  This saves 1 rpc for every
connections.
This commit is contained in:
Géry Debongnie
2016-05-30 11:43:06 +02:00
parent 58245d4dca
commit f3fb0bfe29
7 changed files with 21 additions and 16 deletions
-6
View File
@@ -448,13 +448,7 @@ class Home(http.Controller):
request.uid = request.session.uid
version_info = openerp.service.common.exp_version()
db_info = {
'server_version': version_info.get('server_version'),
'server_version_info': version_info.get('server_version_info'),
}
context = {
'db_info': json.dumps(db_info),
'menu_data': request.registry['ir.ui.menu'].load_menus(request.cr, request.uid, request.debug, context=request.context),
'session_info': json.dumps(request.env['ir.http'].session_info()),
}
+4 -1
View File
@@ -1,3 +1,4 @@
import openerp
from openerp import models
from openerp.http import request
@@ -8,12 +9,14 @@ class Http(models.Model):
def session_info(self):
user = request.env.user
display_switch_company_menu = user.has_group('base.group_multi_company') and len(user.company_ids) > 1
version_info = openerp.service.common.exp_version()
return {
"session_id": request.session_id,
"uid": request.session.uid,
"user_context": request.session.get_context() if request.session.uid else {},
"db": request.session.db,
"username": request.session.login,
"server_version": version_info.get('server_version'),
"server_version_info": version_info.get('server_version_info'),
"name": user.name,
"company_id": request.env.user.company_id.id if request.session.uid else None,
"partner_id": request.env.user.partner_id.id if request.session.uid and request.env.user.partner_id else None,
-1
View File
@@ -391,7 +391,6 @@
var odoo = {
session_info: <t t-raw="session_info"/>,
csrf_token: "<t t-esc="request.csrf_token(None)"/>",
db_info: <t t-raw="db_info"/>,
};
</script>
+1
View File
@@ -0,0 +1 @@
import models
+3
View File
@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
import ir_http
+9
View File
@@ -0,0 +1,9 @@
from openerp import models, service
class Http(models.Model):
_inherit = 'ir.http'
def session_info(self):
result = super(Http, self).session_info()
result['version_info'] = service.common.exp_version()
return result
@@ -81,14 +81,10 @@ var Tracker = core.Class.extend({
* to GA.
*/
initialize_custom: function() {
var self = this;
session.rpc("/web/webclient/version_info", {})
.done(function(res) {
_gaq.push(['_setCustomVar', 5, 'Version', res.server_version, 3]);
self._push_customvars();
self.initialized.resolve(self);
});
return self.initialized;
_gaq.push(['_setCustomVar', 5, 'Version', session.version_info.server_version, 3]);
this._push_customvars();
this.initialized.resolve(this);
return this.initialized;
},
/*