From af7b23f4aefee5f4df2e401f31df54db5f71f5cb Mon Sep 17 00:00:00 2001 From: "Pierre Collinet (pic)" Date: Mon, 22 Jun 2020 12:51:49 +0000 Subject: [PATCH] [IMP] crm: Redirect to activity view from systray Purpose: Redirect to lead activity view when clicking on activity systray for leads. The idea is to give the user a quick overview of his "To Do List" activities. Specification: The path from the systray (opportunity/leads) should redirect to the view with the buttons instead of the one from the pipeline. On top of the existing filters/domain, it adds the time-based filter : Today, Late, Future Activities, ... Task ID-2281254 Community PR odoo#55383 closes odoo/odoo#55413 X-original-commit: 0cee7f48ce44cea6aa31fcace40206eaed5315ca Signed-off-by: Thibault Delavallee (tde) --- .../static/src/js/systray_activity_menu.js | 30 +++++++++++++++++++ addons/crm/views/crm_lead_views.xml | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/addons/crm/static/src/js/systray_activity_menu.js b/addons/crm/static/src/js/systray_activity_menu.js index ad53b6734da..021375de91c 100644 --- a/addons/crm/static/src/js/systray_activity_menu.js +++ b/addons/crm/static/src/js/systray_activity_menu.js @@ -22,5 +22,35 @@ ActivityMenu.include({ } return this._super(...arguments); }, + + //----------------------------------------- + // Handlers + //----------------------------------------- + + /** + * @private + * @override + */ + _onActivityFilterClick: function (event) { + // fetch the data from the button otherwise fetch the ones from the parent (.o_mail_preview). + var data = _.extend({}, $(event.currentTarget).data(), $(event.target).data()); + var context = {}; + if (data.res_model === "crm.lead") { + if (data.filter === 'my') { + context['search_default_activities_overdue'] = 1; + context['search_default_activities_today'] = 1; + } else { + context['search_default_activities_' + data.filter] = 1; + } + // Necessary because activity_ids of mail.activity.mixin has auto_join + // So, duplicates are faking the count and "Load more" doesn't show up + context['force_search_count'] = 1; + this.do_action('crm.crm_lead_action_my_activities', { + additional_context: context + }); + } else { + this._super.apply(this, arguments); + } + }, }); }); diff --git a/addons/crm/views/crm_lead_views.xml b/addons/crm/views/crm_lead_views.xml index 5932802ecf0..08259445b27 100644 --- a/addons/crm/views/crm_lead_views.xml +++ b/addons/crm/views/crm_lead_views.xml @@ -887,7 +887,7 @@ if record: crm.lead tree,kanban,graph,pivot,calendar,form,activity - [('type','=','opportunity'), ('activity_ids','!=',False)] + [('activity_ids','!=',False)] {'default_type': 'opportunity', 'search_default_assigned_to_me': 1}