Browse Source

fixup! fixup! fixup! fixup! fixup! fixup! fixup! [ADD][mail_parent_recipient][10] Add module to use mail of first partner

pull/329/head
Tonow-c2c 5 years ago
parent
commit
7119f3d7b2
  1. 32
      mail_parent_recipient/models/mail_template.py
  2. 4
      mail_parent_recipient/tests/test_mail_parent_recipient.py

32
mail_parent_recipient/models/mail_template.py

@ -2,6 +2,7 @@
# Copyright 2018 Camptocamp
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import models, api
from odoo.tools import config
class MailTemplate(models.Model):
@ -19,16 +20,25 @@ class MailTemplate(models.Model):
results,
res_ids
)
for res_id, values in results.iteritems():
partner_ids = values.get('partner_ids', [])
partners_with_emails = []
for partner in self.env['res.partner'].sudo().browse(partner_ids):
current = partner
while current:
if current.email:
break
current = current.parent_id
partners_with_emails.append(current.id or partner.id)
test_condition = (
config['test_enable'] and not self.env.context.get(
'test_parent_mail_recipient'
)
)
if not test_condition and not self.env.context.get(
'no_parent_mail_recipient'
):
for res_id, values in results.iteritems():
partner_ids = values.get('partner_ids', [])
partners_with_emails = []
partners = self.env['res.partner'].sudo().browse(partner_ids)
for partner in partners:
current = partner
while current:
if current.email:
break
current = current.parent_id
partners_with_emails.append(current.id or partner.id)
results[res_id]['partner_ids'] = partners_with_emails
results[res_id]['partner_ids'] = partners_with_emails
return results

4
mail_parent_recipient/tests/test_mail_parent_recipient.py

@ -43,7 +43,9 @@ class TestMailTemplate(TestMail):
)
def create_mail_composer(self, partner_to_send_ids):
email_template = self.env['mail.template'].create({
email_template = self.env[
'mail.template'
].with_context(test_parent_mail_recipient=True).create({
'model_id': self.env['ir.model'].search([
('model', '=', 'mail.channel')
], limit=1).id,

Loading…
Cancel
Save