diff options
| author | Pierre Collinet (pic) <pic@odoo.com> | 2020-06-22 12:51:49 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2020-08-04 15:09:20 +0000 |
| commit | af7b23f4aefee5f4df2e401f31df54db5f71f5cb (patch) | |
| tree | bc21483b992275a9b5e31bdff953dce92d94b119 /addons/crm | |
| parent | 656e322be8fe51e76308ee19c22122039cb3a9c1 (diff) | |
[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) <tde@openerp.com>
Diffstat (limited to 'addons/crm')
| -rw-r--r-- | addons/crm/static/src/js/systray_activity_menu.js | 30 | ||||
| -rw-r--r-- | addons/crm/views/crm_lead_views.xml | 2 |
2 files changed, 31 insertions, 1 deletions
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: <field name="res_model">crm.lead</field> <field name="view_mode">tree,kanban,graph,pivot,calendar,form,activity</field> <field name="view_id" ref="crm_lead_view_list_activities"/> - <field name="domain">[('type','=','opportunity'), ('activity_ids','!=',False)]</field> + <field name="domain">[('activity_ids','!=',False)]</field> <field name="search_view_id" ref="crm.view_crm_case_my_activities_filter"/> <field name="context">{'default_type': 'opportunity', 'search_default_assigned_to_me': 1} |
