diff --git a/addons/web/static/src/model/relational_model/static_list.js b/addons/web/static/src/model/relational_model/static_list.js index 8935dcae513..f3472207d21 100644 --- a/addons/web/static/src/model/relational_model/static_list.js +++ b/addons/web/static/src/model/relational_model/static_list.js @@ -197,6 +197,7 @@ export class StaticList extends DataPoint { * @param {Object} params.fields * @param {Object} [params.context] * @param {boolean} [params.withoutParent] + * @param {string} [params.mode] * @param {Record} [record] * @returns {Record} */ @@ -225,9 +226,8 @@ export class StaticList extends DataPoint { // case 1: the record already exists if (this._extendedRecords.has(record.id)) { // case 1.1: the record has already been extended - // -> simply switch it to edit and store a savepoint + // -> simply store a savepoint this.model._updateConfig(record.config, config, { noReload: true }); - record._switchMode("edit"); record._addSavePoint(); return record; } diff --git a/addons/web/static/tests/views/fields/one2many_field_tests.js b/addons/web/static/tests/views/fields/one2many_field_tests.js index addb3bbc375..c378319063b 100644 --- a/addons/web/static/tests/views/fields/one2many_field_tests.js +++ b/addons/web/static/tests/views/fields/one2many_field_tests.js @@ -3017,6 +3017,47 @@ QUnit.module("Fields", (hooks) => { ); }); + QUnit.test("open a record in an one2many readonly", async function (assert) { + serverData.views = { + "turtle,false,form": ` +
+ + `, + }; + await makeView({ + type: "form", + resModel: "partner", + serverData, + arch: ` +
+ + + + + + + + + `, + resId: 1, + }); + + await click(target.querySelector(".o_data_row .o_data_cell")); + assert.containsOnce(target, ".modal"); + assert.strictEqual( + target.querySelector(".modal div[name=display_name] span").textContent, + "donatello" + ); + + await click(target, ".modal .o_form_button_cancel"); + await click(target.querySelector(".o_data_row .o_data_cell")); + assert.containsOnce(target, ".modal"); + assert.strictEqual( + target.querySelector(".modal div[name=display_name] span").textContent, + "donatello" + ); + }); + QUnit.test( "one2many in kanban: add a line custom control create editable", async function (assert) {