diff --git a/rma/data/mail_data.xml b/rma/data/mail_data.xml
index 3a0c32c2..175d4436 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 554c8a90..d61911b8 100644
--- a/rma/models/rma.py
+++ b/rma/models/rma.py
@@ -503,7 +503,9 @@ class Rma(models.Model):
for rma in self.filtered(lambda p: p.company_id.send_rma_confirmation):
rma_template_id = rma.company_id.rma_mail_confirmation_template_id.id
rma.with_context(
- force_send=True, mark_rma_as_sent=True
+ force_send=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
@@ -514,6 +516,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,
@@ -1110,11 +1113,20 @@ class Rma(models.Model):
# Mail business methods
def _creation_subtype(self):
- if self.state in ("draft", "confirmed"):
+ if self.state in ("draft"):
return self.env.ref("rma.mt_rma_draft")
else:
return super()._creation_subtype()
+ def _track_subtype(self, init_values):
+ self.ensure_one()
+ if "state" in init_values:
+ if self.state == "draft":
+ return self.env.ref("rma.mt_rma_draft")
+ elif self.state == "confirmed":
+ return self.env.ref("rma.mt_rma_notification")
+ return super()._track_subtype(init_values)
+
def message_new(self, msg_dict, custom_values=None):
"""Extract the needed values from an incoming rma emails data-set
to be used to create an RMA.
diff --git a/rma/tests/test_rma.py b/rma/tests/test_rma.py
index 27cb010f..767fabee 100644
--- a/rma/tests/test_rma.py
+++ b/rma/tests/test_rma.py
@@ -673,3 +673,4 @@ 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)