summaryrefslogtreecommitdiff
path: root/addons/test_mail_full
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-09-13 18:07:59 +0200
committerChristophe Simonis <chs@odoo.com>2019-09-13 18:07:59 +0200
commit6c948c36bbf72dd896e0bff03aa7fbddadcbb0cd (patch)
treef8620905c011735d8a3c340c46d1417a54a75972 /addons/test_mail_full
parent48503fcf08eac6fed12e080d4f501f9bbc8d257d (diff)
parent197474e5b9ad43ab2d587a98136a1a809ce9a2e7 (diff)
[MERGE] forward port branch saas-12.5 up to 197474e5b9a
Diffstat (limited to 'addons/test_mail_full')
-rw-r--r--addons/test_mail_full/i18n/test_mail_full.pot291
-rw-r--r--addons/test_mail_full/tests/test_sms_composer.py76
2 files changed, 367 insertions, 0 deletions
diff --git a/addons/test_mail_full/i18n/test_mail_full.pot b/addons/test_mail_full/i18n/test_mail_full.pot
new file mode 100644
index 00000000000..75ac8eee973
--- /dev/null
+++ b/addons/test_mail_full/i18n/test_mail_full.pot
@@ -0,0 +1,291 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * test_mail_full
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server saas~12.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-09-09 10:49+0000\n"
+"PO-Revision-Date: 2019-09-09 10:49+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_needaction
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_needaction
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_needaction
+msgid "Action Needed"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_attachment_count
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_attachment_count
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_attachment_count
+msgid "Attachment Count"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model,name:test_mail_full.model_mail_test_sms
+#: model:ir.model,name:test_mail_full.model_mail_test_sms_bl
+msgid "Chatter Model for SMS Gateway"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model,name:test_mail_full.model_mail_test_sms_partner
+msgid "Chatter Model for SMS Gateway (Partner only)"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__create_uid
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__create_uid
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__create_date
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__create_date
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__customer_id
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__customer_id
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__partner_id
+msgid "Customer"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__display_name
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__display_name
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__email_from
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__email_from
+msgid "Email From"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__phone_sanitized
+msgid ""
+"Field used to store sanitized phone number. Helps speeding up searches and "
+"comparisons."
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_follower_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_follower_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_follower_ids
+msgid "Followers"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_channel_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_channel_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_channel_ids
+msgid "Followers (Channels)"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_partner_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_partner_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_partner_ids
+msgid "Followers (Partners)"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__id
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__id
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_needaction
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_unread
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_needaction
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_unread
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_needaction
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_unread
+msgid "If checked, new messages require your attention."
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_has_error
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_has_sms_error
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_has_error
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_has_sms_error
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_has_error
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_has_sms_error
+msgid "If checked, some messages have a delivery error."
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__phone_blacklisted
+msgid ""
+"If the email address is on the blacklist, the contact won't receive mass "
+"mailing anymore, from any list"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_is_follower
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_is_follower
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_is_follower
+msgid "Is Follower"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms____last_update
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl____last_update
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__write_uid
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__write_uid
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__write_date
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__write_date
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_main_attachment_id
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_main_attachment_id
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_main_attachment_id
+msgid "Main Attachment"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_has_error
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_has_error
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_has_error
+msgid "Message Delivery error"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_ids
+msgid "Messages"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__mobile_nbr
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__mobile_nbr
+msgid "Mobile Nbr"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__name
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__name
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__name
+msgid "Name"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_needaction_counter
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_needaction_counter
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_needaction_counter
+msgid "Number of Actions"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_has_error_counter
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_has_error_counter
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_has_error_counter
+msgid "Number of errors"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_needaction_counter
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_needaction_counter
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_needaction_counter
+msgid "Number of messages which requires an action"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_has_error_counter
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_has_error_counter
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_unread_counter
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_unread_counter
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_unread_counter
+msgid "Number of unread messages"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__phone_blacklisted
+msgid "Phone Blacklisted"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__phone_nbr
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__phone_nbr
+msgid "Phone Nbr"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_has_sms_error
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_has_sms_error
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_has_sms_error
+msgid "SMS Delivery error"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__phone_sanitized
+msgid "Sanitized Number"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__subject
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__subject
+msgid "Subject"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_unread
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_unread
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_unread
+msgid "Unread Messages"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_unread_counter
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_unread_counter
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_unread_counter
+msgid "Unread Messages Counter"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__website_message_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__website_message_ids
+#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__website_message_ids
+msgid "Website Messages"
+msgstr ""
+
+#. module: test_mail_full
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__website_message_ids
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__website_message_ids
+#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__website_message_ids
+msgid "Website communication history"
+msgstr ""
diff --git a/addons/test_mail_full/tests/test_sms_composer.py b/addons/test_mail_full/tests/test_sms_composer.py
index 4e8e7e70edb..04ff799408f 100644
--- a/addons/test_mail_full/tests/test_sms_composer.py
+++ b/addons/test_mail_full/tests/test_sms_composer.py
@@ -420,3 +420,79 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
for record in self.records:
self.assertSMSOutgoing(record.customer_id, None, 'Dear %s this is an SMS.' % record.display_name)
self.assertSMSLogged(record, 'Dear %s this is an SMS.' % record.display_name)
+
+ def test_composer_template_context_action(self):
+ """ Test the context action from a SMS template (Add context action button)
+ and the usage with the sms composer """
+ # Create the lang info
+ self.env.ref('base.lang_fr').write({'active': True})
+ self.env['ir.translation'].create({
+ 'type': 'model',
+ 'name': 'sms.template,body',
+ 'lang': 'fr_FR',
+ 'res_id': self.sms_template.id,
+ 'src': self.sms_template.body,
+ 'value': "Hello ${object.display_name} ceci est en français.",
+ })
+ # set template to try to use customer lang
+ self.sms_template.write({
+ 'lang': '${object.customer_id.lang}',
+ })
+ # create a second record linked to a customer in another language
+ self.partners[2].write({'lang': 'fr_FR'})
+ test_record_2 = self.env['mail.test.sms'].create({
+ 'name': 'Test',
+ 'customer_id': self.partners[2].id,
+ })
+ test_record_1 = self.env['mail.test.sms'].create({
+ 'name': 'Test',
+ 'customer_id': self.partners[1].id,
+ })
+ # Composer creation with context from a template context action (simulate) - comment (single recipient)
+ with self.sudo('employee'):
+ composer = self.env['sms.composer'].with_context(
+ default_composition_mode='guess',
+ default_res_ids=[test_record_2.id],
+ default_res_id=test_record_2.id,
+ active_ids=[test_record_2.id],
+ active_id=test_record_2.id,
+ active_model='mail.test.sms',
+ default_template_id=self.sms_template.id,
+ ).create({
+ 'mass_keep_log': False,
+ })
+ # Call manually the onchange
+ composer._onchange_template_id()
+ self.assertEquals(composer.composition_mode, "comment")
+ self.assertEquals(composer.body, "Hello %s ceci est en français." % test_record_2.display_name)
+
+ with self.mockSMSGateway():
+ messages = composer._action_send_sms()
+
+ number = self.partners[2].phone_get_sanitized_number()
+ self.assertSMSNotification([{'partner': test_record_2.customer_id, 'number': number}], "Hello %s ceci est en français." % test_record_2.display_name, messages)
+
+ # Composer creation with context from a template context action (simulate) - mass (multiple recipient)
+ with self.sudo('employee'):
+ composer = self.env['sms.composer'].with_context(
+ default_composition_mode='guess',
+ default_res_ids=[test_record_1.id, test_record_2.id],
+ default_res_id=test_record_1.id,
+ active_ids=[test_record_1.id, test_record_2.id],
+ active_id=test_record_1.id,
+ active_model='mail.test.sms',
+ default_template_id=self.sms_template.id,
+ ).create({
+ 'mass_keep_log': True,
+ })
+ # Call manually the onchange
+ composer._onchange_template_id()
+ self.assertEquals(composer.composition_mode, "mass")
+ # In english because by default but when sinding depending of record
+ self.assertEquals(composer.body, "Dear ${object.display_name} this is an SMS.")
+
+ with self.mockSMSGateway():
+ composer.action_send_sms()
+
+ self.assertSMSOutgoing(test_record_1.customer_id, None, 'Dear %s this is an SMS.' % test_record_1.display_name)
+ self.assertSMSOutgoing(test_record_2.customer_id, None, "Hello %s ceci est en français." % test_record_2.display_name)