From f04bf77a4f0bdc14181a3b88a4256ab51e6c436a Mon Sep 17 00:00:00 2001 From: louck Date: Wed, 9 Oct 2024 14:56:48 +0200 Subject: [PATCH] Modify channel name when the name of the company is changed --- commown_b2b_mail_channel/models/res_partner.py | 12 ++++++++++-- .../tests/test_res_partner.py | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/commown_b2b_mail_channel/models/res_partner.py b/commown_b2b_mail_channel/models/res_partner.py index dc224558..4d32d501 100644 --- a/commown_b2b_mail_channel/models/res_partner.py +++ b/commown_b2b_mail_channel/models/res_partner.py @@ -1,4 +1,4 @@ -from odoo import fields, models +from odoo import api, fields, models class ResPartner(models.Model): @@ -62,7 +62,7 @@ def create_mail_channel(self): group_commercial = self.env.ref("commown_user_groups.commercial") self.mail_channel_id = self.env["mail.channel"].create( { - "name": " ".join(["Support", self.name]), + "name": self.compute_support_channel_name(), "public": "private", "company_id": self.id, } @@ -74,3 +74,11 @@ def create_mail_channel(self): self.mail_channel_id.group_ids += ( group_admin + group_commercial + group_support ) + + def compute_support_channel_name(self): + return " ".join(["Support", self.name]) + + @api.constrains("name") + def set_support_channel_name(self): + if self.mail_channel_id: + self.mail_channel_id.name = self.compute_support_channel_name() diff --git a/commown_b2b_mail_channel/tests/test_res_partner.py b/commown_b2b_mail_channel/tests/test_res_partner.py index 7fe6c370..504f6e33 100644 --- a/commown_b2b_mail_channel/tests/test_res_partner.py +++ b/commown_b2b_mail_channel/tests/test_res_partner.py @@ -72,3 +72,18 @@ def test_channel_creation_on_active_contract_join_company(self): self.part1.parent_id = self.company self.assertTrue(self.company.mail_channel_id) + + def test_set_support_channel_name(self): + self.company.create_mail_channel() + self.assertEqual( + self.company.mail_channel_id.name, + "Support %s" % self.company.name, + ) + + new_name = "New name" + + self.company.name = new_name + self.assertEqual( + self.company.mail_channel_id.name, + "Support %s" % new_name, + )