From 8b8d7a1d762a38012de9e0949d6f6028ad2b4b5e Mon Sep 17 00:00:00 2001 From: "Vaibhav (OpenERP)" Date: Tue, 18 Oct 2011 11:24:00 +0530 Subject: [PATCH 1/2] [FIX] Display name of reference field in tree. lp bug: https://launchpad.net/bugs/861434 fixed bzr revid: vda@tinyerp.com-20111018055400-2j1gvgvognuo6ka9 --- addons/web/static/src/js/view_list.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 5c4db4f31aa..5a923d58922 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -793,6 +793,22 @@ openerp.web.ListView.List = openerp.web.Class.extend( /** @lends openerp.web.Lis this.dataset]); }, render_cell: function (record, column) { + if(column.type === 'reference') { + var value = record.get(column.id); + if (_.isString(value)) { + var ref = value.split(','); + if (_.size(ref) > 1) { + var model = ref[0], + id = parseInt(ref[1]); + new openerp.web.DataSet(this.view, model).name_get([id], function(names) { + if (!names.length) { + return; + } + record.set(column.id, names[0][1]); + }); + } + } + } if (column.type === 'many2one') { var value = record.get(column.id); // m2o values are usually name_get formatted, [Number, String] From c7f4482d5b557947d201952d91cca453f2263904 Mon Sep 17 00:00:00 2001 From: "Vaibhav (OpenERP)" Date: Tue, 18 Oct 2011 15:04:32 +0530 Subject: [PATCH 2/2] [FIX] Check value type,base with parseint. bzr revid: vda@tinyerp.com-20111018093432-0ixihleg3vynpvwx --- addons/web/static/src/js/view_list.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 5a923d58922..01f611e6a77 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -795,11 +795,11 @@ openerp.web.ListView.List = openerp.web.Class.extend( /** @lends openerp.web.Lis render_cell: function (record, column) { if(column.type === 'reference') { var value = record.get(column.id); - if (_.isString(value)) { + if (typeof value === 'string' || value instanceof String) { var ref = value.split(','); - if (_.size(ref) > 1) { + if (ref.length > 1) { var model = ref[0], - id = parseInt(ref[1]); + id = parseInt(ref[1], 10); new openerp.web.DataSet(this.view, model).name_get([id], function(names) { if (!names.length) { return;