From 24ba5ae276a7c25cdcd4d2db2e17e032cfa7e52a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20K=C3=BChn?= Date: Wed, 30 Jan 2019 17:16:00 +0000 Subject: [PATCH] [FIX] mail: open 'My Activities' from systray activity menu Before this commit, when clicking on the activity view icon from an item in the systray activity menu, the activity view had no search filter by default. This commit now auto-select 'My Activities' in the activity view when redirected from the systray activity menu. closes odoo/odoo#30702 --- .../static/src/js/systray/systray_activity_menu.js | 3 ++- .../tests/systray/systray_activity_menu_tests.js | 14 ++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/addons/mail/static/src/js/systray/systray_activity_menu.js b/addons/mail/static/src/js/systray/systray_activity_menu.js index c825844851e..2b42167861c 100644 --- a/addons/mail/static/src/js/systray/systray_activity_menu.js +++ b/addons/mail/static/src/js/systray/systray_activity_menu.js @@ -118,7 +118,8 @@ var ActivityMenu = Widget.extend({ name: targetAction.data('model_name'), views: [[false, 'activity'], [false, 'kanban'], [false, 'list']], view_mode: 'activity', - res_model: targetAction.data('res_model') + res_model: targetAction.data('res_model'), + context: { search_default_activities_my: true }, }); } }, diff --git a/addons/mail/static/tests/systray/systray_activity_menu_tests.js b/addons/mail/static/tests/systray/systray_activity_menu_tests.js index d9977822916..abf4dc6daf7 100644 --- a/addons/mail/static/tests/systray/systray_activity_menu_tests.js +++ b/addons/mail/static/tests/systray/systray_activity_menu_tests.js @@ -151,7 +151,7 @@ QUnit.test('activity menu widget: activity menu with 3 records', function (asser }); QUnit.test('activity menu widget: activity view icon', function (assert) { - assert.expect(8); + assert.expect(10); var self = this; var activityMenu = new ActivityMenu(); testUtils.mock.addMockEnvironment(activityMenu, { @@ -177,9 +177,15 @@ QUnit.test('activity menu widget: activity view icon', function (assert) { "Second activity action should link to 'Note'"); assert.hasClass($second,'fa-clock-o', "should display the activity action icon"); - testUtils.mock.intercept(activityMenu, 'do_action', function (event) { - assert.step('do_action:' + - (event.data.action.name ? event.data.action.name : event.data.action)); + testUtils.mock.intercept(activityMenu, 'do_action', function (ev) { + if (ev.data.action.name) { + assert.ok(ev.data.action.context, "should define a context on the action"); + assert.ok(ev.data.action.context.search_default_activities_my, + "should auto-set search to 'My Activities' in the context of the action"); + assert.step('do_action:' + ev.data.action.name); + } else { + assert.step('do_action:' + ev.data.action); + } }, true); // click on the "Issue" activity icon