diff --git a/addons/web/static/src/js/views/search/favorites_menu.js b/addons/web/static/src/js/views/search/favorites_menu.js index 47e99aec573..a40f38d4095 100644 --- a/addons/web/static/src/js/views/search/favorites_menu.js +++ b/addons/web/static/src/js/views/search/favorites_menu.js @@ -19,6 +19,7 @@ return Widget.extend({ }, 'click .o_save_search': function (ev) { ev.preventDefault(); + ev.stopPropagation(); this.toggle_save_menu(); }, 'click .o_save_name button': 'save_favorite', diff --git a/addons/web/static/tests/views/search_view_tests.js b/addons/web/static/tests/views/search_view_tests.js index 6785160f280..3ce961c483c 100644 --- a/addons/web/static/tests/views/search_view_tests.js +++ b/addons/web/static/tests/views/search_view_tests.js @@ -1,9 +1,11 @@ odoo.define('web.search_view_tests', function (require) { "use strict"; +var FormView = require('web.FormView'); var testUtils = require('web.test_utils'); var createActionManager = testUtils.createActionManager; var patchDate = testUtils.patchDate; +var createView = testUtils.createView; QUnit.module('Search View', { beforeEach: function () { @@ -821,5 +823,68 @@ QUnit.module('Search View', { actionManager.destroy(); }); + QUnit.test('save search filter in modal', function (assert) { + assert.expect(5); + this.data.partner.records.push({ + id: 7, + display_name: "Partner 6", + }, { + id: 8, + display_name: "Partner 7", + }, { + id: 9, + display_name: "Partner 8", + }, { + id: 10, + display_name: "Partner 9", + }); + this.data.partner.fields.date_field.searchable = true; + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
', + archs: { + 'partner,false,list': '