commit
b44d3bf1c6
@ -17,5 +17,5 @@
|
|||||||
"views/mail_notification_custom_subject_views.xml",
|
"views/mail_notification_custom_subject_views.xml",
|
||||||
],
|
],
|
||||||
"development_status": "Production/Stable",
|
"development_status": "Production/Stable",
|
||||||
"maintainers": ["joao-p-marques"],
|
"maintainers": ["yajo"],
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,16 @@ class MailThread(models.AbstractModel):
|
|||||||
raise_if_not_found=False,
|
raise_if_not_found=False,
|
||||||
)
|
)
|
||||||
if subtype_id:
|
if subtype_id:
|
||||||
custom_subjects = self.env["mail.message.custom.subject"].search(
|
custom_subjects = (
|
||||||
[("model_id.model", "=", self._name), ("subtype_ids", "=", subtype_id)]
|
self.env["mail.message.custom.subject"]
|
||||||
|
.sudo()
|
||||||
|
.search(
|
||||||
|
[
|
||||||
|
("model_id.model", "=", self._name),
|
||||||
|
("subtype_ids", "=", subtype_id),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
.sudo(False)
|
||||||
)
|
)
|
||||||
if not subject:
|
if not subject:
|
||||||
subject = "Re: %s" % self.env["mail.message"].with_context(
|
subject = "Re: %s" % self.env["mail.message"].with_context(
|
||||||
|
@ -20,16 +20,22 @@ class TestMailNotificationCustomSubject(common.TransactionCase):
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
cls.admin = common.new_test_user(cls.env, "boss", "base.group_system")
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super().setUp()
|
||||||
|
self.uid = common.new_test_user(self.env, "worker")
|
||||||
|
|
||||||
def test_email_subject_template_overrides(self):
|
def test_email_subject_template_overrides(self):
|
||||||
self.env["mail.message.custom.subject"].create(
|
with self.with_user("boss"):
|
||||||
{
|
self.env["mail.message.custom.subject"].create(
|
||||||
"name": "Test template 1",
|
{
|
||||||
"model_id": self.env.ref("base.model_res_partner").id,
|
"name": "Test template 1",
|
||||||
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
"model_id": self.env.ref("base.model_res_partner").id,
|
||||||
"subject_template": "{{object.name or 'n/a'}} and something more",
|
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
||||||
}
|
"subject_template": "{{object.name or 'n/a'}} and something more",
|
||||||
)
|
}
|
||||||
|
)
|
||||||
# Send message in partner
|
# Send message in partner
|
||||||
mail_message_1 = self.partner_1.message_post(
|
mail_message_1 = self.partner_1.message_post(
|
||||||
body="Test", subtype_xmlid="mail.mt_comment"
|
body="Test", subtype_xmlid="mail.mt_comment"
|
||||||
@ -52,14 +58,15 @@ class TestMailNotificationCustomSubject(common.TransactionCase):
|
|||||||
self.assertEqual(mail_message_3.subject, "Test partner 2 and something more")
|
self.assertEqual(mail_message_3.subject, "Test partner 2 and something more")
|
||||||
|
|
||||||
def test_email_subject_template_normal(self):
|
def test_email_subject_template_normal(self):
|
||||||
self.env["mail.message.custom.subject"].create(
|
with self.with_user("boss"):
|
||||||
{
|
self.env["mail.message.custom.subject"].create(
|
||||||
"name": "Test template 1",
|
{
|
||||||
"model_id": self.env.ref("base.model_res_partner").id,
|
"name": "Test template 1",
|
||||||
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
"model_id": self.env.ref("base.model_res_partner").id,
|
||||||
"subject_template": "{{object.name or 'n/a'}} and something more",
|
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
||||||
}
|
"subject_template": "{{object.name or 'n/a'}} and something more",
|
||||||
)
|
}
|
||||||
|
)
|
||||||
# Send note in partner
|
# Send note in partner
|
||||||
mail_message_1 = self.partner_1.message_post(
|
mail_message_1 = self.partner_1.message_post(
|
||||||
body="Test", subtype_xmlid="mail.mt_note", subject="Test"
|
body="Test", subtype_xmlid="mail.mt_note", subject="Test"
|
||||||
@ -68,22 +75,24 @@ class TestMailNotificationCustomSubject(common.TransactionCase):
|
|||||||
self.assertEqual(mail_message_1.subject, "Test")
|
self.assertEqual(mail_message_1.subject, "Test")
|
||||||
|
|
||||||
def test_email_subject_template_multi(self):
|
def test_email_subject_template_multi(self):
|
||||||
self.env["mail.message.custom.subject"].create(
|
with self.with_user("boss"):
|
||||||
{
|
self.env["mail.message.custom.subject"].create(
|
||||||
"name": "Test template 1",
|
{
|
||||||
"model_id": self.env.ref("base.model_res_partner").id,
|
"name": "Test template 1",
|
||||||
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
"model_id": self.env.ref("base.model_res_partner").id,
|
||||||
"subject_template": "{{object.name or 'n/a'}} and something more",
|
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
||||||
}
|
"subject_template": "{{object.name or 'n/a'}} and something more",
|
||||||
)
|
}
|
||||||
self.env["mail.message.custom.subject"].create(
|
)
|
||||||
{
|
with self.with_user("boss"):
|
||||||
"name": "Test template 2",
|
self.env["mail.message.custom.subject"].create(
|
||||||
"model_id": self.env.ref("base.model_res_partner").id,
|
{
|
||||||
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
"name": "Test template 2",
|
||||||
"subject_template": "{{object.name or 'n/a'}} and something different",
|
"model_id": self.env.ref("base.model_res_partner").id,
|
||||||
}
|
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
||||||
)
|
"subject_template": "{{object.name or 'n/a'}} and something different",
|
||||||
|
}
|
||||||
|
)
|
||||||
# Send message in partner
|
# Send message in partner
|
||||||
mail_message_1 = self.partner_1.message_post(
|
mail_message_1 = self.partner_1.message_post(
|
||||||
body="Test", subtype_xmlid="mail.mt_comment"
|
body="Test", subtype_xmlid="mail.mt_comment"
|
||||||
@ -92,15 +101,16 @@ class TestMailNotificationCustomSubject(common.TransactionCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
mail_message_1.subject, "Test partner 1 and something different"
|
mail_message_1.subject, "Test partner 1 and something different"
|
||||||
)
|
)
|
||||||
self.env["mail.message.custom.subject"].create(
|
with self.with_user("boss"):
|
||||||
{
|
self.env["mail.message.custom.subject"].create(
|
||||||
"name": "Test template 3",
|
{
|
||||||
"model_id": self.env.ref("base.model_res_partner").id,
|
"name": "Test template 3",
|
||||||
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
"model_id": self.env.ref("base.model_res_partner").id,
|
||||||
"subject_template": "{{' and yet something else'}}",
|
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
||||||
"position": "append_after",
|
"subject_template": "{{' and yet something else'}}",
|
||||||
}
|
"position": "append_after",
|
||||||
)
|
}
|
||||||
|
)
|
||||||
# Send message in partner
|
# Send message in partner
|
||||||
mail_message_2 = self.partner_1.message_post(
|
mail_message_2 = self.partner_1.message_post(
|
||||||
body="Test", subtype_xmlid="mail.mt_comment"
|
body="Test", subtype_xmlid="mail.mt_comment"
|
||||||
@ -110,15 +120,16 @@ class TestMailNotificationCustomSubject(common.TransactionCase):
|
|||||||
mail_message_2.subject,
|
mail_message_2.subject,
|
||||||
"Test partner 1 and something different and yet something else",
|
"Test partner 1 and something different and yet something else",
|
||||||
)
|
)
|
||||||
self.env["mail.message.custom.subject"].create(
|
with self.with_user("boss"):
|
||||||
{
|
self.env["mail.message.custom.subject"].create(
|
||||||
"name": "Test template 4",
|
{
|
||||||
"model_id": self.env.ref("base.model_res_partner").id,
|
"name": "Test template 4",
|
||||||
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
"model_id": self.env.ref("base.model_res_partner").id,
|
||||||
"subject_template": "{{'Re: '}}",
|
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
||||||
"position": "append_before",
|
"subject_template": "{{'Re: '}}",
|
||||||
}
|
"position": "append_before",
|
||||||
)
|
}
|
||||||
|
)
|
||||||
# Send message in partner
|
# Send message in partner
|
||||||
mail_message_3 = self.partner_1.message_post(
|
mail_message_3 = self.partner_1.message_post(
|
||||||
body="Test", subtype_xmlid="mail.mt_comment"
|
body="Test", subtype_xmlid="mail.mt_comment"
|
||||||
@ -130,15 +141,16 @@ class TestMailNotificationCustomSubject(common.TransactionCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_email_subject_template_w_original(self):
|
def test_email_subject_template_w_original(self):
|
||||||
self.env["mail.message.custom.subject"].create(
|
with self.with_user("boss"):
|
||||||
{
|
self.env["mail.message.custom.subject"].create(
|
||||||
"name": "Test template 1",
|
{
|
||||||
"model_id": self.env.ref("base.model_res_partner").id,
|
"name": "Test template 1",
|
||||||
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
"model_id": self.env.ref("base.model_res_partner").id,
|
||||||
"subject_template": "{{' and something more'}}",
|
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
||||||
"position": "append_after",
|
"subject_template": "{{' and something more'}}",
|
||||||
}
|
"position": "append_after",
|
||||||
)
|
}
|
||||||
|
)
|
||||||
# Send message in partner
|
# Send message in partner
|
||||||
mail_message_1 = self.partner_1.message_post(
|
mail_message_1 = self.partner_1.message_post(
|
||||||
body="Test",
|
body="Test",
|
||||||
@ -150,15 +162,16 @@ class TestMailNotificationCustomSubject(common.TransactionCase):
|
|||||||
|
|
||||||
def test_bad_template_does_not_break(self):
|
def test_bad_template_does_not_break(self):
|
||||||
"""Create template with error (obaject) to test error."""
|
"""Create template with error (obaject) to test error."""
|
||||||
self.env["mail.message.custom.subject"].create(
|
with self.with_user("boss"):
|
||||||
{
|
self.env["mail.message.custom.subject"].create(
|
||||||
"name": "Test bad template 1",
|
{
|
||||||
"model_id": self.env.ref("base.model_res_partner").id,
|
"name": "Test bad template 1",
|
||||||
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
"model_id": self.env.ref("base.model_res_partner").id,
|
||||||
"subject_template": "{{obaject.number_a}} and something",
|
"subtype_ids": [(6, 0, [self.env.ref("mail.mt_comment").id])],
|
||||||
"position": "append_after",
|
"subject_template": "{{obaject.number_a}} and something",
|
||||||
}
|
"position": "append_after",
|
||||||
)
|
}
|
||||||
|
)
|
||||||
# Send message in partner
|
# Send message in partner
|
||||||
with mute_logger("odoo.addons.mail.models.mail_render_mixin"):
|
with mute_logger("odoo.addons.mail.models.mail_render_mixin"):
|
||||||
mail_message_1 = self.partner_1.message_post(
|
mail_message_1 = self.partner_1.message_post(
|
||||||
|
Loading…
Reference in New Issue
Block a user