[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:
@@ -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()),
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
import models
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import ir_http
|
||||
@@ -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;
|
||||
},
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user