diff --git a/addons/web/static/src/js/views/basic/basic_controller.js b/addons/web/static/src/js/views/basic/basic_controller.js index 5024a67677e..67a4fa504d8 100644 --- a/addons/web/static/src/js/views/basic/basic_controller.js +++ b/addons/web/static/src/js/views/basic/basic_controller.js @@ -423,7 +423,7 @@ var BasicController = AbstractController.extend(FieldManagerMixin, { }); if (!options.stayInEdit) { saveDef = saveDef.then(function (fieldNames) { - var def = fieldNames.length ? self._confirmSave(recordID) : self._setMode('readonly'); + var def = fieldNames.length ? self._confirmSave(recordID) : self._setMode('readonly', recordID); return def.then(function () { return fieldNames; }); diff --git a/addons/web/static/tests/views/list_tests.js b/addons/web/static/tests/views/list_tests.js index bb38ba453a1..c39e6d2b1b0 100644 --- a/addons/web/static/tests/views/list_tests.js +++ b/addons/web/static/tests/views/list_tests.js @@ -136,7 +136,7 @@ QUnit.module('Views', { }); QUnit.test('simple editable rendering', function (assert) { - assert.expect(9); + assert.expect(12); var list = createView({ View: ListView, @@ -164,6 +164,15 @@ QUnit.module('Views', { "should have a visible save button"); assert.ok(list.$buttons.find('.o_list_button_discard').is(':visible'), "should have a visible discard button"); + + list.$buttons.find('.o_list_button_save').click(); + + assert.ok(list.$buttons.find('.o_list_button_add').is(':visible'), + "should have a visible Create button"); + assert.ok(!list.$buttons.find('.o_list_button_save').is(':visible'), + "should not have a visible save button"); + assert.ok(!list.$buttons.find('.o_list_button_discard').is(':visible'), + "should not have a visible discard button"); list.destroy(); });