diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index 1c286795a91..f153a2155f0 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -398,23 +398,24 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ id = id[0]; } - var record_id = this.abscissa; - var modes = ["list", "form", "graph"]; - var views = []; - _.each(modes, function(mode) { - var view = [false, mode]; - if (self.fields.views && self.fields.views[mode]) { - view.push(self.fields.views[mode]); + var views; + if (this.widget_parent.action) { + views = this.widget_parent.action.views; + if (!_(views).detect(function (view) { + return view[1] === 'list' })) { + views = [[false, 'list']].concat(views); } - views.push(view); - }); + } else { + views = _(["list", "form", "graph"]).map(function(mode) { + return [false, mode]; + }); + } this.do_action({ - "res_model" : this.dataset.model, - "domain" : [[record_id, '=', id], ['id','in',this.dataset.ids]], - "views" : views, - "type" : "ir.actions.act_window", - "view_type" : "list", - "view_mode" : "list" + res_model : this.dataset.model, + domain: [[this.abscissa, '=', id], ['id','in',this.dataset.ids]], + views: views, + type: "ir.actions.act_window", + flags: {default_view: 'list'} }); },