diff --git a/addons/crm/__manifest__.py b/addons/crm/__manifest__.py index 6f0d4a5182d..8e1a36c89ea 100644 --- a/addons/crm/__manifest__.py +++ b/addons/crm/__manifest__.py @@ -29,11 +29,9 @@ 'data/crm_lead_data.xml', 'data/mail_template_data.xml', - 'wizard/base_partner_merge_views.xml', 'wizard/crm_lead_lost_views.xml', 'wizard/crm_lead_to_opportunity_views.xml', 'wizard/crm_merge_opportunities_views.xml', - 'wizard/base_partner_merge_views.xml', 'views/crm_templates.xml', 'views/res_config_settings_views.xml', diff --git a/addons/crm/wizard/__init__.py b/addons/crm/wizard/__init__.py index 6a55568adb3..2d067e92595 100644 --- a/addons/crm/wizard/__init__.py +++ b/addons/crm/wizard/__init__.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from . import base_partner_merge from . import crm_lead_lost from . import crm_partner_binding from . import crm_lead_to_opportunity diff --git a/addons/mail/wizard/__init__.py b/addons/mail/wizard/__init__.py index 2523a3593b0..819ae4154f4 100644 --- a/addons/mail/wizard/__init__.py +++ b/addons/mail/wizard/__init__.py @@ -5,3 +5,4 @@ from . import invite from . import mail_compose_message from . import email_template_preview from . import base_module_uninstall +from . import base_partner_merge diff --git a/addons/mail/wizard/base_partner_merge.py b/addons/mail/wizard/base_partner_merge.py new file mode 100644 index 00000000000..d31749cacad --- /dev/null +++ b/addons/mail/wizard/base_partner_merge.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import api, models, _ + + +class MergePartnerAutomatic(models.TransientModel): + + _inherit = 'base.partner.merge.automatic.wizard' + + @api.multi + def _log_merge_operation(self, src_partners, dst_partner): + super(MergePartnerAutomatic, self)._log_merge_operation(src_partners, dst_partner) + dst_partner.message_post(body='%s %s' % (_("Merged with the following partners:"), ", ".join('%s <%s> (ID %s)' % (p.name, p.email or 'n/a', p.id) for p in src_partners))) diff --git a/odoo/addons/base/__manifest__.py b/odoo/addons/base/__manifest__.py index 05dd0ed6e9d..6a4efca78b8 100644 --- a/odoo/addons/base/__manifest__.py +++ b/odoo/addons/base/__manifest__.py @@ -55,6 +55,7 @@ The kernel of Odoo, needed for all installation. 'wizard/base_module_uninstall_views.xml', 'wizard/base_export_language_views.xml', 'wizard/base_update_translations_views.xml', + 'wizard/base_partner_merge_views.xml', 'data/ir_actions_data.xml', 'views/res_company_views.xml', 'views/res_lang_views.xml', diff --git a/odoo/addons/base/tests/test_ir_actions.py b/odoo/addons/base/tests/test_ir_actions.py index 60cbe64280a..7c5836fa97e 100644 --- a/odoo/addons/base/tests/test_ir_actions.py +++ b/odoo/addons/base/tests/test_ir_actions.py @@ -185,6 +185,7 @@ class TestActionBindings(common.TransactionCase): Actions = self.env['ir.actions.actions'] # first make sure there is no bound action + self.env.ref('base.action_partner_merge').unlink() bindings = Actions.get_bindings('res.partner') self.assertFalse(bindings['action']) self.assertFalse(bindings['report']) diff --git a/odoo/addons/base/wizard/__init__.py b/odoo/addons/base/wizard/__init__.py index ece1521da87..2eedfd6bba5 100644 --- a/odoo/addons/base/wizard/__init__.py +++ b/odoo/addons/base/wizard/__init__.py @@ -8,3 +8,4 @@ from . import base_module_upgrade from . import base_module_uninstall from . import base_export_language from . import base_update_translations +from . import base_partner_merge diff --git a/addons/crm/wizard/base_partner_merge.py b/odoo/addons/base/wizard/base_partner_merge.py similarity index 99% rename from addons/crm/wizard/base_partner_merge.py rename to odoo/addons/base/wizard/base_partner_merge.py index e76d243fe11..32522c47e44 100644 --- a/addons/crm/wizard/base_partner_merge.py +++ b/odoo/addons/base/wizard/base_partner_merge.py @@ -290,12 +290,15 @@ class MergePartnerAutomatic(models.TransientModel): self._update_reference_fields(src_partners, dst_partner) self._update_values(src_partners, dst_partner) - _logger.info('(uid = %s) merged the partners %r with %s', self._uid, src_partners.ids, dst_partner.id) - dst_partner.message_post(body='%s %s' % (_("Merged with the following partners:"), ", ".join('%s <%s> (ID %s)' % (p.name, p.email or 'n/a', p.id) for p in src_partners))) + self._log_merge_operation(src_partners, dst_partner) # delete source partner, since they are merged src_partners.unlink() + @api.multi + def _log_merge_operation(self, src_partners, dst_partner): + _logger.info('(uid = %s) merged the partners %r with %s', self._uid, src_partners.ids, dst_partner.id) + # ---------------------------------------- # Helpers # ---------------------------------------- diff --git a/addons/crm/wizard/base_partner_merge_views.xml b/odoo/addons/base/wizard/base_partner_merge_views.xml similarity index 100% rename from addons/crm/wizard/base_partner_merge_views.xml rename to odoo/addons/base/wizard/base_partner_merge_views.xml