From 7119f3d7b23ac7a7eb0d39664cc3f7afd9d35f4c Mon Sep 17 00:00:00 2001 From: Tonow-c2c Date: Wed, 9 Jan 2019 16:39:10 +0100 Subject: [PATCH] fixup! fixup! fixup! fixup! fixup! fixup! fixup! [ADD][mail_parent_recipient][10] Add module to use mail of first partner --- mail_parent_recipient/models/mail_template.py | 32 ++++++++++++------- .../tests/test_mail_parent_recipient.py | 4 ++- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/mail_parent_recipient/models/mail_template.py b/mail_parent_recipient/models/mail_template.py index 8de8068e..24ca15d5 100644 --- a/mail_parent_recipient/models/mail_template.py +++ b/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 diff --git a/mail_parent_recipient/tests/test_mail_parent_recipient.py b/mail_parent_recipient/tests/test_mail_parent_recipient.py index c1324256..3ebbba22 100644 --- a/mail_parent_recipient/tests/test_mail_parent_recipient.py +++ b/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,