[MERGE] Make the contacts deduplication wizard available to all apps
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)))
|
||||
@@ -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',
|
||||
|
||||
@@ -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'])
|
||||
|
||||
@@ -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
|
||||
|
||||
+5
-2
@@ -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
|
||||
# ----------------------------------------
|
||||
Reference in New Issue
Block a user