From 2205a6fd49d9c9ddc5e576e35471b4ce2bbbee4c Mon Sep 17 00:00:00 2001 From: Saran440 Date: Tue, 24 Oct 2023 12:01:07 +0700 Subject: [PATCH] [FIX] base_substate: track template on substate --- base_substate/models/base_substate_mixin.py | 10 +++++----- base_substate/tests/sale_test.py | 2 +- base_substate/tests/test_base_substate.py | 14 ++++++++++++-- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/base_substate/models/base_substate_mixin.py b/base_substate/models/base_substate_mixin.py index de37d62475..5c7693ef0b 100644 --- a/base_substate/models/base_substate_mixin.py +++ b/base_substate/models/base_substate_mixin.py @@ -28,19 +28,19 @@ def check_substate_id_value(self): } ) - def _track_template(self, tracking): - res = super()._track_template(tracking) + def _track_template(self, changes): + res = super()._track_template(changes) first_rec = self[0] - changes, tracking_value_ids = tracking[first_rec.id] if "substate_id" in changes and first_rec.substate_id.mail_template_id: res["substate_id"] = ( first_rec.substate_id.mail_template_id, { + "composition_mode": "comment", "auto_delete_message": True, - "subtype_id": self.env["ir.model.data"].xmlid_to_res_id( + "subtype_id": self.env["ir.model.data"]._xmlid_to_res_id( "mail.mt_note" ), - "notif_layout": "mail.mail_notification_light", + "email_layout_xmlid": "mail.mail_notification_light", }, ) return res diff --git a/base_substate/tests/sale_test.py b/base_substate/tests/sale_test.py index c3d80cc07d..4f21c0498f 100644 --- a/base_substate/tests/sale_test.py +++ b/base_substate/tests/sale_test.py @@ -6,8 +6,8 @@ class SaleTest(models.Model, TestMixin): - _inherit = "base.substate.mixin" _name = "base.substate.test.sale" + _inherit = ["base.substate.mixin"] _description = "Base substate Test Model" name = fields.Char(required=True) diff --git a/base_substate/tests/test_base_substate.py b/base_substate/tests/test_base_substate.py index 57d23316bd..9a9aaf01bb 100644 --- a/base_substate/tests/test_base_substate.py +++ b/base_substate/tests/test_base_substate.py @@ -17,6 +17,14 @@ def setUpClass(cls): cls.substate_test_sale = cls.env["base.substate.test.sale"] cls.substate_test_sale_line = cls.env["base.substate.test.sale.line"] + cls.mail_template = cls.env["mail.template"].create( + { + "name": "Waiting for legal documents", + "model_id": cls.substate_test_sale.id, + "subject": "Test Email Substate", + } + ) + cls.base_substate = cls.env["base.substate.mixin"] cls.substate_type = cls.env["base.substate.type"] @@ -68,6 +76,7 @@ def setUpClass(cls): "name": "Waiting for legal documents", "sequence": 2, "target_state_value_id": cls.substate_val_sale.id, + "mail_template_id": cls.mail_template.id, } ) @@ -106,12 +115,13 @@ def test_sale_order_substate(self): ) self.assertTrue(so_test1.state == "draft") self.assertTrue(so_test1.substate_id == self.substate_under_negotiation) - # Test that validation of sale order change substate_id so_test1.button_confirm() self.assertTrue(so_test1.state == "sale") self.assertTrue(so_test1.substate_id == self.substate_wait_docs) - + # Test track template + res = so_test1._track_template({"substate_id"}) + self.assertEqual(res["substate_id"][0], self.mail_template) # Test that substate_id is set to false if # there is not substate corresponding to state so_test1.button_cancel()