diff --git a/addons/web/static/src/js/views/form/form_controller.js b/addons/web/static/src/js/views/form/form_controller.js index f83fdd78bcd..45b85a86612 100644 --- a/addons/web/static/src/js/views/form/form_controller.js +++ b/addons/web/static/src/js/views/form/form_controller.js @@ -133,13 +133,14 @@ var FormController = BasicController.extend({ * @param {jQueryElement} $node */ renderButtons: function ($node) { - var $footer = this.$('footer'); - if (!this.defaultButtons && (!this.footerToButtons || !$footer.length)) { + var $footer = this.footerToButtons ? this.$('footer') : null; + var mustRenderFooterButtons = $footer && $footer.length; + if (!this.defaultButtons && !mustRenderFooterButtons) { return; } this.$buttons = $('
'); - if (this.footerToButtons && $footer.length) { - this.$buttons.append($footer.detach().contents()); + if (mustRenderFooterButtons) { + this.$buttons.append($footer); } else { this.$buttons.append(qweb.render("FormView.buttons", {widget: this})); this.$buttons.on('click', '.o_form_button_edit', this._toEditMode.bind(this)); diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js index b777fde31c6..a511ba29b10 100644 --- a/addons/web/static/tests/views/form_tests.js +++ b/addons/web/static/tests/views/form_tests.js @@ -3047,5 +3047,47 @@ QUnit.module('Views', { form.destroy(); }); + QUnit.test('modifiers are considered on multiple