From 8965f85968d81cfce4d0f7e7e098ae5ab1c4fe65 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 27 Jan 2012 17:06:45 +0100 Subject: [PATCH] [fix] problem in gantt view, now does a name_get for all models bzr revid: nicolas.vanhoren@openerp.com-20120127160645-62bfd9j6dn1zl0c9 --- addons/web_gantt/static/src/js/gantt.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/addons/web_gantt/static/src/js/gantt.js b/addons/web_gantt/static/src/js/gantt.js index 00860894a0d..9f49ba7bd5e 100644 --- a/addons/web_gantt/static/src/js/gantt.js +++ b/addons/web_gantt/static/src/js/gantt.js @@ -22,7 +22,6 @@ openerp.web_gantt.GanttView = openerp.web.View.extend({ on_loaded: function(fields_view, fields_get) { this.fields_view = fields_view[0]; this.fields = fields_get[0].fields; - this.field_name = 'name'; this.has_been_loaded.resolve(); }, @@ -40,10 +39,10 @@ openerp.web_gantt.GanttView = openerp.web.View.extend({ n_group_bys = group_bys; } // gather the fields to get - var fields = _.compact(_.map(["date_start", "date_delay", "date_stop", "color", "colors"], function(key) { + var fields = _.compact(_.map(["date_start", "date_delay", "date_stop"], function(key) { return self.fields_view.arch.attrs[key] || ''; })); - fields = _.uniq(fields.concat([this.field_name], n_group_bys)); + fields = _.uniq(fields.concat(n_group_bys)); return $.when(this.has_been_loaded).pipe(function() { return self.dataset.read_slice(fields, { @@ -59,6 +58,16 @@ openerp.web_gantt.GanttView = openerp.web.View.extend({ return this.do_search(this.last_domains, this.last_contexts, this.last_group_bys); }, on_data_loaded: function(tasks, group_bys) { + var self = this; + var ids = _.pluck(tasks, "id"); + return this.dataset.name_get(ids).pipe(function(names) { + var ntasks = _.map(tasks, function(task) { + return _.extend({__name: _.detect(names, function(name) { return name[0] == task.id; })[1]}, task); + }); + return self.on_data_loaded_2(ntasks, group_bys); + }); + }, + on_data_loaded_2: function(tasks, group_bys) { var self = this; $(".oe-gantt-view-view", this.$element).html(""); @@ -129,7 +138,7 @@ openerp.web_gantt.GanttView = openerp.web.View.extend({ return {task_info: group, task_start: task_start, task_stop: task_stop}; } } else { - var task_name = openerp.web.format_value(task[self.field_name], self.fields[self.field_name]); + var task_name = task.__name; var task_start = openerp.web.auto_str_to_date(task[self.fields_view.arch.attrs.date_start]); if (!task_start) return;