From 1f2db88eff15a460396f08c24c8f4d37ffef5a74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 11 Apr 2022 21:11:13 +0200 Subject: [PATCH] Allow Reference to be edited from tree view issue10999 review384831002 --- CHANGELOG | 1 + src/view/tree.js | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index e253d78a59..7b54158225 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Allow Reference to be edited from tree view * Set ECMAScript version to 6 * Manage optional column * Display the number of selected records diff --git a/src/view/tree.js b/src/view/tree.js index 901053c7f7..32fecba6f3 100644 --- a/src/view/tree.js +++ b/src/view/tree.js @@ -2587,7 +2587,17 @@ Sao.common.selection_mixin.update_selection.call(this, record, this.field, callback); }, + get_cell: function() { + var cell = Sao.View.Tree.ReferenceColumn._super + .get_cell.call(this); + cell.append(jQuery('', { + 'href': '#', + })); + return cell; + }, update_text: function(cell, record) { + cell = cell.children('a'); + cell.unbind('click'); this.update_selection(record, function() { var value = this.field.get_client(record); var model, name, text; @@ -2610,6 +2620,22 @@ text = name; } cell.text(text).attr('title', text); + cell.click(function(event) { + event.stopPropagation(); + var value = this.field.get(record); + if (value) { + var model = value.split(',')[0]; + var id = parseInt(value.split(',')[1], 10); + var params = { + model: model, + res_id: id, + mode: ['form'], + name: this.attributes.string, + context: this.field.get_context(record), + }; + Sao.Tab.create(params); + } + }.bind(this)); }.bind(this)); } });