diff --git a/addons/event/event.py b/addons/event/event.py index 83da211ed6d..4eba6e7f16d 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -359,7 +359,7 @@ class event_registration(models.Model): recipients = super(event_registration, self).message_get_suggested_recipients() for attendee in self: if attendee.email: - self._message_add_suggested_recipient(recipients, attendee, email=attendee.email, reason=_('Customer Email')) + attendee._message_add_suggested_recipient(recipients, email=attendee.email, reason=_('Customer Email')) if attendee.partner_id: - self._message_add_suggested_recipient(recipients, attendee, partner=attendee.partner_id, reason=_('Customer')) + attendee._message_add_suggested_recipient(recipients, partner=attendee.partner_id, reason=_('Customer')) return recipients diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index c546a67a9db..e57a7cdef6b 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -416,9 +416,9 @@ class hr_applicant(osv.Model): recipients = super(hr_applicant, self).message_get_suggested_recipients(cr, uid, ids, context=context) for applicant in self.browse(cr, uid, ids, context=context): if applicant.partner_id: - self._message_add_suggested_recipient(cr, uid, recipients, applicant, partner=applicant.partner_id, reason=_('Contact')) + applicant._message_add_suggested_recipient(recipients, partner=applicant.partner_id, reason=_('Contact')) elif applicant.email_from: - self._message_add_suggested_recipient(cr, uid, recipients, applicant, email=applicant.email_from, reason=_('Contact Email')) + applicant._message_add_suggested_recipient(recipients, email=applicant.email_from, reason=_('Contact Email')) return recipients def message_new(self, cr, uid, msg, custom_values=None, context=None): diff --git a/addons/mail/models/res_partner.py b/addons/mail/models/res_partner.py index 3d2e5ad6886..c7e97031773 100644 --- a/addons/mail/models/res_partner.py +++ b/addons/mail/models/res_partner.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from openerp import _, fields, models +from openerp import _, api, fields, models class Partner(models.Model): @@ -23,10 +23,11 @@ class Partner(models.Model): 'Opt-Out', help="If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign. " "Filter 'Available for Mass Mailing' allows users to filter the partners when performing mass mailing.") + @api.multi def message_get_suggested_recipients(self): recipients = super(Partner, self).message_get_suggested_recipients() for partner in self: - self._message_add_suggested_recipient(recipients, partner, partner=partner, reason=_('Partner Profile')) + partner._message_add_suggested_recipient(recipients, partner=partner, reason=_('Partner Profile')) return recipients def message_get_default_recipients(self): diff --git a/addons/project/project.py b/addons/project/project.py index 321cff032f5..ea49a15dedf 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -267,14 +267,6 @@ class project(osv.osv): 'privacy_visibility': 'employees', } - def message_get_suggested_recipients(self, cr, uid, ids, context=None): - recipients = super(project, self).message_get_suggested_recipients(cr, uid, ids, context=context) - for data in self.browse(cr, uid, ids, context=context): - if data.partner_id: - reason = _('Customer Email') if data.partner_id.email else _('Customer') - self._message_add_suggested_recipient(cr, uid, recipients, data, partner=data.partner_id, reason= '%s' % reason) - return recipients - # TODO: Why not using a SQL contraints ? def _check_dates(self, cr, uid, ids, context=None): for leave in self.read(cr, uid, ids, ['date_start', 'date'], context=context): @@ -1104,6 +1096,15 @@ class task(osv.osv): pass return super(task, self).message_update(cr, uid, ids, msg, update_vals=update_vals, context=context) + def message_get_suggested_recipients(self, cr, uid, ids, context=None): + recipients = super(task, self).message_get_suggested_recipients(cr, uid, ids, context=context) + for data in self.browse(cr, uid, ids, context=context): + if data.partner_id: + reason = _('Customer Email') if data.partner_id.email else _('Customer') + data._message_add_suggested_recipient(recipients, partner=data.partner_id, reason=reason) + return recipients + + class account_analytic_account(osv.osv): _inherit = 'account.analytic.account' _description = 'Analytic Account' diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 0f32f60a1f1..2f505b9d2e7 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -393,9 +393,9 @@ class project_issue(osv.Model): try: for issue in self.browse(cr, uid, ids, context=context): if issue.partner_id: - self._message_add_suggested_recipient(cr, uid, recipients, issue, partner=issue.partner_id, reason=_('Customer')) + issue._message_add_suggested_recipient(recipients, partner=issue.partner_id, reason=_('Customer')) elif issue.email_from: - self._message_add_suggested_recipient(cr, uid, recipients, issue, email=issue.email_from, reason=_('Customer Email')) + issue._message_add_suggested_recipient(recipients, email=issue.email_from, reason=_('Customer Email')) except AccessError: # no read access rights -> just ignore suggested recipients because this imply modifying followers pass return recipients