@@ -634,11 +634,11 @@
- +
+ +
-
-
+
+
@@ -772,9 +772,11 @@
-
-
-
+
+
+
@@ -896,7 +898,7 @@
-
+
diff --git a/addons/crm_iap_enrich/models/crm_lead.py b/addons/crm_iap_enrich/models/crm_lead.py
index 869d2704bd4..215e7090577 100644
--- a/addons/crm_iap_enrich/models/crm_lead.py
+++ b/addons/crm_iap_enrich/models/crm_lead.py
@@ -159,3 +159,9 @@ class Lead(models.Model):
values=template_values,
subtype_id=self.env.ref('mail.mt_note').id
)
+
+ def _merge_get_fields_specific(self):
+ return {
+ ** super(Lead, self)._merge_get_fields_specific(),
+ 'iap_enrich_done': lambda fname, leads: any(lead.iap_enrich_done for lead in leads),
+ }
diff --git a/addons/crm_iap_enrich/tests/__init__.py b/addons/crm_iap_enrich/tests/__init__.py
index 33ab21b0da9..76341f51790 100644
--- a/addons/crm_iap_enrich/tests/__init__.py
+++ b/addons/crm_iap_enrich/tests/__init__.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from . import test_crm_lead_merge
from . import test_lead_enrich
diff --git a/addons/crm_iap_enrich/tests/test_crm_lead_merge.py b/addons/crm_iap_enrich/tests/test_crm_lead_merge.py
new file mode 100644
index 00000000000..054a51b38e7
--- /dev/null
+++ b/addons/crm_iap_enrich/tests/test_crm_lead_merge.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+
+from odoo.addons.crm.tests.test_crm_lead_merge import TestLeadMergeCommon
+from odoo.tests.common import tagged, users
+from odoo.tools import mute_logger
+
+
+@tagged('lead_manage')
+class TestLeadMerge(TestLeadMergeCommon):
+
+ @users('user_sales_manager')
+ @mute_logger('odoo.models.unlink')
+ def test_merge_method_iap_enrich_done(self):
+ """Test that the "iap_enrich_done" is set to True if at least one lead have this value True"""
+ self.leads.iap_enrich_done = False
+ self.lead_w_contact.write({
+ 'reveal_id': 'test_reveal_id',
+ 'iap_enrich_done': True,
+ })
+
+ leads = self.env['crm.lead'].browse(self.leads.ids)._sort_by_confidence_level(reverse=True)
+
+ with self.assertLeadMerged(leads[0], leads, iap_enrich_done=True, reveal_id='test_reveal_id'):
+ leads._merge_opportunity(auto_unlink=False, max_length=None)
diff --git a/addons/crm_iap_mine/models/crm_lead.py b/addons/crm_iap_mine/models/crm_lead.py
index eaed1d92bd7..35107394157 100644
--- a/addons/crm_iap_mine/models/crm_lead.py
+++ b/addons/crm_iap_mine/models/crm_lead.py
@@ -8,3 +8,6 @@ class Lead(models.Model):
_inherit = 'crm.lead'
lead_mining_request_id = fields.Many2one('crm.iap.lead.mining.request', string='Lead Mining Request', index=True)
+
+ def _merge_get_fields(self):
+ return super(Lead, self)._merge_get_fields() + ['lead_mining_request_id']
diff --git a/addons/event_crm/__manifest__.py b/addons/event_crm/__manifest__.py
index a9a5aeb3dbe..dba6b325056 100644
--- a/addons/event_crm/__manifest__.py
+++ b/addons/event_crm/__manifest__.py
@@ -11,6 +11,7 @@
'data': [
'security/event_crm_security.xml',
'security/ir.model.access.csv',
+ 'data/crm_lead_merge_template.xml',
'views/crm_lead_views.xml',
'views/event_registration_views.xml',
'views/event_lead_rule_views.xml',
diff --git a/addons/event_crm/data/crm_lead_merge_template.xml b/addons/event_crm/data/crm_lead_merge_template.xml
new file mode 100644
index 00000000000..3dfecd8d128
--- /dev/null
+++ b/addons/event_crm/data/crm_lead_merge_template.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+ Event:
+
+
+ Event:
+
+
+ Registration Rule:
+
+
+
+
+
+
diff --git a/addons/event_crm/models/crm_lead.py b/addons/event_crm/models/crm_lead.py
index de709404e95..07a67e90f4d 100644
--- a/addons/event_crm/models/crm_lead.py
+++ b/addons/event_crm/models/crm_lead.py
@@ -30,3 +30,6 @@ class Lead(models.Model):
self.sudo().write({
'registration_ids': [(4, registration.id) for registration in opportunities.sudo().registration_ids]
})
+
+ def _merge_get_fields(self):
+ return super(Lead, self)._merge_get_fields() + ['event_lead_rule_id', 'event_id']
diff --git a/addons/iap_crm/models/crm_lead.py b/addons/iap_crm/models/crm_lead.py
index c45d9da847d..43d3da90902 100644
--- a/addons/iap_crm/models/crm_lead.py
+++ b/addons/iap_crm/models/crm_lead.py
@@ -8,3 +8,6 @@ class Lead(models.Model):
_inherit = 'crm.lead'
reveal_id = fields.Char(string='Reveal ID', help="Technical ID of reveal request done by IAP.")
+
+ def _merge_get_fields(self):
+ return super(Lead, self)._merge_get_fields() + ['reveal_id']
diff --git a/addons/sale_crm/__manifest__.py b/addons/sale_crm/__manifest__.py
index c8c5d551283..3fc3bbc7d7e 100644
--- a/addons/sale_crm/__manifest__.py
+++ b/addons/sale_crm/__manifest__.py
@@ -19,6 +19,7 @@ modules.
'depends': ['sale_management', 'crm'],
'data': [
'security/ir.model.access.csv',
+ 'data/crm_lead_merge_template.xml',
'views/partner_views.xml',
'views/sale_order_views.xml',
'views/crm_lead_views.xml',
diff --git a/addons/sale_crm/data/crm_lead_merge_template.xml b/addons/sale_crm/data/crm_lead_merge_template.xml
new file mode 100644
index 00000000000..dc21ebb7b4c
--- /dev/null
+++ b/addons/sale_crm/data/crm_lead_merge_template.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/website_crm_iap_reveal/models/crm_lead.py b/addons/website_crm_iap_reveal/models/crm_lead.py
index 97cf26914e3..90b8ca89d69 100644
--- a/addons/website_crm_iap_reveal/models/crm_lead.py
+++ b/addons/website_crm_iap_reveal/models/crm_lead.py
@@ -10,3 +10,6 @@ class Lead(models.Model):
reveal_ip = fields.Char(string='IP Address')
reveal_iap_credits = fields.Integer(string='IAP Credits')
reveal_rule_id = fields.Many2one('crm.reveal.rule', string='Lead Generation Rule', index=True)
+
+ def _merge_get_fields(self):
+ return super(Lead, self)._merge_get_fields() + ['reveal_ip', 'reveal_iap_credits', 'reveal_rule_id']
diff --git a/addons/website_crm_partner_assign/data/crm_lead_merge_template.xml b/addons/website_crm_partner_assign/data/crm_lead_merge_template.xml
index 5381daccace..f624710faa9 100644
--- a/addons/website_crm_partner_assign/data/crm_lead_merge_template.xml
+++ b/addons/website_crm_partner_assign/data/crm_lead_merge_template.xml
@@ -11,6 +11,17 @@
Partner Assignment Date: