[FIX] base_partner_merge: this wizard does not depend on mail anymore

We then extract the logging of the merge in a separate submethod, and
log in chatters only when available.
This commit is contained in:
Richard Mathot
2017-12-21 12:59:23 +01:00
parent e330567707
commit eb61925344
3 changed files with 19 additions and 2 deletions
+1
View File
@@ -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
+13
View File
@@ -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)))
@@ -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
# ----------------------------------------