From faad6cc4537f214ab8cc51a0ae633d2b090574e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Wed, 10 Feb 2021 12:42:04 +0100 Subject: [PATCH] [FIX] mass_mailing_partner: Mailing contact multi wite --- .../models/mail_mass_mailing_contact.py | 7 +++--- .../tests/test_res_partner.py | 22 +++++++++++++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/mass_mailing_partner/models/mail_mass_mailing_contact.py b/mass_mailing_partner/models/mail_mass_mailing_contact.py index 7e1677b01..672494fb8 100644 --- a/mass_mailing_partner/models/mail_mass_mailing_contact.py +++ b/mass_mailing_partner/models/mail_mass_mailing_contact.py @@ -1,7 +1,8 @@ -# Copyright 2015 Pedro M. Baeza +# Copyright 2015 Tecnativa - Pedro M. Baeza # Copyright 2015 Antonio Espinosa # Copyright 2015 Javier Iniesta -# Copyright 2017 David Vidal +# Copyright 2017 Tecnativa - David Vidal +# Copyright 2021 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import _, api, fields, models @@ -72,7 +73,7 @@ class MailMassMailingContact(models.Model): subscription_list_ids=vals.get('subscription_list_ids', False), list_ids=vals.get('list_ids', False) ) - super().write(new_vals) + super(MailMassMailingContact, contact).write(new_vals) return True def _get_company(self): diff --git a/mass_mailing_partner/tests/test_res_partner.py b/mass_mailing_partner/tests/test_res_partner.py index 837c4081b..3377bffc1 100644 --- a/mass_mailing_partner/tests/test_res_partner.py +++ b/mass_mailing_partner/tests/test_res_partner.py @@ -1,6 +1,7 @@ -# Copyright 2015 Pedro M. Baeza -# Copyright 2015 Antonio Espinosa +# Copyright 2015 Tecnativa - Pedro M. Baeza +# Copyright 2015 Tecnativa - Antonio Espinosa # Copyright 2015 Javier Iniesta +# Copyright 2021 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import base @@ -37,3 +38,20 @@ class ResPartnerCase(base.BaseCase): self.check_mailing_contact_partner(contact) with self.assertRaises(ValidationError): self.partner.write({'email': False}) + + def test_write_res_partner_multi(self): + self.assertEqual(len(self.partner.category_id.ids), 2) + partner2 = self.partner.copy({'name': 'Partner test 2'}) + self.partner.write({'category_id': [(4, self.category_3.id)]}) + self.assertEqual(len(self.partner.category_id.ids), 3) + self.assertEqual(len(partner2.category_id.ids), 2) + for partner in [self.partner, partner2]: + self.create_mailing_contact({ + 'partner_id': partner.id, + 'list_ids': [[6, 0, [self.mailing_list.id]]] + }) + self.env['res.partner'].search([ + ('id', 'in', (self.partner.id, partner2.id)) + ]).write({'category_id': [(4, self.category_3.id)]}) + self.assertEqual(len(self.partner.category_id.ids), 3) + self.assertEqual(len(partner2.category_id.ids), 3)