diff --git a/rma/data/mail_data.xml b/rma/data/mail_data.xml index 7c118726..0ecead99 100644 --- a/rma/data/mail_data.xml +++ b/rma/data/mail_data.xml @@ -7,6 +7,12 @@ RMA in draft state + + RMA Notificatoin + rma + + RMA automatic customer notifications + Draft RMA @@ -16,6 +22,14 @@ team_id + + RMA Notification + 20 + rma.team + + + team_id + RMA Notification diff --git a/rma/models/rma.py b/rma/models/rma.py index d47a18c9..c4f54e82 100644 --- a/rma/models/rma.py +++ b/rma/models/rma.py @@ -536,7 +536,8 @@ class Rma(models.Model): ) rma.with_context( force_send=True, - mark_rma_as_sent=True + mark_rma_as_sent=True, + default_subtype_id=self.env.ref('rma.mt_rma_notification').id, ).message_post_with_template(rma_template_id) # Action methods @@ -548,6 +549,7 @@ class Rma(models.Model): form = self.env.ref('mail.email_compose_message_wizard_form', False) ctx = { 'default_model': 'rma', + 'default_subtype_id': self.env.ref('rma.mt_rma_notification').id, 'default_res_id': self.ids[0], 'default_use_template': bool(template), 'default_template_id': template and template.id or False, @@ -1133,8 +1135,11 @@ class Rma(models.Model): # Mail business methods def _track_subtype(self, init_values): self.ensure_one() - if 'state' in init_values and self.state == 'draft': - return 'rma.mt_rma_draft' + if 'state' in init_values: + if self.state == 'draft': + return 'rma.mt_rma_draft' + elif self.state == 'confirmed': + return 'rma.mt_rma_notification' return super()._track_subtype(init_values) def message_new(self, msg_dict, custom_values=None): diff --git a/rma/tests/test_rma.py b/rma/tests/test_rma.py index dffbf152..f6029d7c 100644 --- a/rma/tests/test_rma.py +++ b/rma/tests/test_rma.py @@ -686,3 +686,5 @@ class TestRma(SavepointCase): ) self.assertTrue(rma.name in mail.subject) self.assertTrue(rma.name in mail.body) + self.assertEqual( + self.env.ref("rma.mt_rma_notification"), mail.subtype_id)