From 84e10ad03b8873e6311ecab80e40f2e75646daa1 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Thu, 16 Apr 2015 12:15:25 +0200 Subject: [PATCH] [FIX] web: translation of default M2O values in search bar When a many2one field of a searchview was selected by default, through a default_*_id within the context, the many2one value name wasn't translated. e.g. with Spanish loaded (and l10n_multilang installed), translate a project.project name in Spanish. Then, while being in Spanish, in the project.project kanban, click on the Tasks link of a project (tareas), then, notice the value of the project name in the search bar. opw-632818 --- addons/web/static/src/js/search.js | 3 ++- addons/web/static/test/search.js | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index d39ed55b638..701f81d335a 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -1682,7 +1682,8 @@ instance.web.search.ManyToOneField = instance.web.search.CharField.extend({ // to handle this as if it were a single value. value = value[0]; } - return this.model.call('name_get', [value]).then(function (names) { + var context = instance.web.pyeval.eval('contexts', [this.view.dataset.get_context()]); + return this.model.call('name_get', [value], {context: context}).then(function (names) { if (_(names).isEmpty()) { return null; } return facet_from(self, names[0]); }); diff --git a/addons/web/static/test/search.js b/addons/web/static/test/search.js index 911c41eefd9..a8c3cd1ec06 100644 --- a/addons/web/static/test/search.js +++ b/addons/web/static/test/search.js @@ -292,7 +292,7 @@ openerp.testing.section('search.defaults', { }); }); test("M2O default: value", {asserts: 5}, function (instance, $s, mock) { - var view = {inputs: []}, id = 4; + var view = {inputs: [], dataset: {get_context: function () {}}}, id = 4; var f = new instance.web.search.ManyToOneField( {attrs: {name: 'dummy', string: 'Dummy'}}, {relation: 'dummy.model.name'}, @@ -322,7 +322,7 @@ openerp.testing.section('search.defaults', { }); }); test("M2O default: value array", {asserts: 2}, function (instance, $s, mock) { - var view = {inputs: []}, id = 5; + var view = {inputs: [], dataset: {get_context: function () {}}}, id = 5; var f = new instance.web.search.ManyToOneField( {attrs: {name: 'dummy', string: 'Dummy'}}, {relation: 'dummy.model.name'}, @@ -344,7 +344,7 @@ openerp.testing.section('search.defaults', { }); }); test("M2O default: value", {asserts: 1}, function (instance, $s, mock) { - var view = {inputs: []}, id = 4; + var view = {inputs: [], dataset: {get_context: function () {}}}, id = 4; var f = new instance.web.search.ManyToOneField( {attrs: {name: 'dummy', string: 'Dummy'}}, {relation: 'dummy.model.name'},