From 389d74fab304a2f55d14deaa955fca9715e6860b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 29 Mar 2021 14:22:50 +0000 Subject: [PATCH] [IMP] crm: allow team members to opt-out from assign Purpose is to allow members to quickly opt-out / opt-in from assign process. For example if for some reason (leaves, too much leads, temporarily working on something else) a salesperson cannot handle more leads he may opt-out from assign process. When member is opt-out, hide assign details from both kanban and form views. It allows notably to see at a glance who is out and who is in. Task ID-2494749 COM PR odoo/odoo#68476 UPG PR odoo/upgrade#2318 Signed-off-by: Thibault Delavallee (tde) --- addons/crm/models/crm_team_member.py | 3 ++- addons/crm/views/crm_team_member_views.xml | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/addons/crm/models/crm_team_member.py b/addons/crm/models/crm_team_member.py index dc74ca9d76b..cc48076a251 100644 --- a/addons/crm/models/crm_team_member.py +++ b/addons/crm/models/crm_team_member.py @@ -21,6 +21,7 @@ class Team(models.Model): # assignment assignment_enabled = fields.Boolean(related="crm_team_id.assignment_enabled") assignment_domain = fields.Char('Assignment Domain', tracking=True) + assignment_optout = fields.Boolean('Skip auto assignment') assignment_max = fields.Integer('Max Leads (last 30 days)', default=30) lead_month_count = fields.Integer( 'Leads (30 days)', compute='_compute_lead_month_count', @@ -122,7 +123,7 @@ class Team(models.Model): assign_ratio = work_days / 30.0 members_data, population, weights = dict(), list(), list() - members = self.filtered(lambda member: member.assignment_max > member.lead_month_count) + members = self.filtered(lambda member: not member.assignment_optout and member.assignment_max > member.lead_month_count) if not members: return members_data diff --git a/addons/crm/views/crm_team_member_views.xml b/addons/crm/views/crm_team_member_views.xml index 2abce300dd4..132eac3434c 100644 --- a/addons/crm/views/crm_team_member_views.xml +++ b/addons/crm/views/crm_team_member_views.xml @@ -8,6 +8,7 @@ + @@ -21,8 +22,9 @@ +
+ attrs="{'invisible': ['|', ('assignment_enabled', '=', False), ('assignment_optout', '=', True)]}"> -